| // 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" <nil> | 
 | 	// "/b/c": "../b/c" <nil> | 
 | 	// "./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 | 
 | } | 
 |  | 
 | func ExampleMatch() { | 
 | 	fmt.Println("On Unix:") | 
 | 	fmt.Println(filepath.Match("/home/catch/*", "/home/catch/foo")) | 
 | 	fmt.Println(filepath.Match("/home/catch/*", "/home/catch/foo/bar")) | 
 | 	fmt.Println(filepath.Match("/home/?opher", "/home/gopher")) | 
 | 	fmt.Println(filepath.Match("/home/\\*", "/home/*")) | 
 |  | 
 | 	// Output: | 
 | 	// On Unix: | 
 | 	// true <nil> | 
 | 	// false <nil> | 
 | 	// true <nil> | 
 | 	// true <nil> | 
 | } |