// Copyright 2013 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // +build !windows,!plan9 package filepath_test import ( "fmt" "path/filepath" ) func ExampleSplitList() { fmt.Println("On Unix:", filepath.SplitList("/a/b/c:/usr/bin")) // Output: // On Unix: [/a/b/c /usr/bin] } func ExampleRel() { paths := []string{ "/a/b/c", "/b/c", "./b/c", } base := "/a" fmt.Println("On Unix:") for _, p := range paths { rel, err := filepath.Rel(base, p) fmt.Printf("%q: %q %v\n", p, rel, err) } // Output: // On Unix: // "/a/b/c": "b/c" // "/b/c": "../b/c" // "./b/c": "" Rel: can't make ./b/c relative to /a } func ExampleSplit() { paths := []string{ "/home/arnie/amelia.jpg", "/mnt/photos/", "rabbit.jpg", "/usr/local//go", } fmt.Println("On Unix:") for _, p := range paths { dir, file := filepath.Split(p) fmt.Printf("input: %q\n\tdir: %q\n\tfile: %q\n", p, dir, file) } // Output: // On Unix: // input: "/home/arnie/amelia.jpg" // dir: "/home/arnie/" // file: "amelia.jpg" // input: "/mnt/photos/" // dir: "/mnt/photos/" // file: "" // input: "rabbit.jpg" // dir: "" // file: "rabbit.jpg" // input: "/usr/local//go" // dir: "/usr/local//" // file: "go" } func ExampleJoin() { fmt.Println("On Unix:") fmt.Println(filepath.Join("a", "b", "c")) fmt.Println(filepath.Join("a", "b/c")) fmt.Println(filepath.Join("a/b", "c")) fmt.Println(filepath.Join("a/b", "/c")) // Output: // On Unix: // a/b/c // a/b/c // a/b/c // a/b/c }