| // Copyright 2012 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. |
| |
| package path_test |
| |
| import ( |
| "fmt" |
| "path" |
| ) |
| |
| func ExampleBase() { |
| fmt.Println(path.Base("/a/b")) |
| fmt.Println(path.Base("/")) |
| fmt.Println(path.Base("")) |
| // Output: |
| // b |
| // / |
| // . |
| } |
| |
| func ExampleClean() { |
| paths := []string{ |
| "a/c", |
| "a//c", |
| "a/c/.", |
| "a/c/b/..", |
| "/../a/c", |
| "/../a/b/../././/c", |
| "", |
| } |
| |
| for _, p := range paths { |
| fmt.Printf("Clean(%q) = %q\n", p, path.Clean(p)) |
| } |
| |
| // Output: |
| // Clean("a/c") = "a/c" |
| // Clean("a//c") = "a/c" |
| // Clean("a/c/.") = "a/c" |
| // Clean("a/c/b/..") = "a/c" |
| // Clean("/../a/c") = "/a/c" |
| // Clean("/../a/b/../././/c") = "/a/c" |
| // Clean("") = "." |
| } |
| |
| func ExampleDir() { |
| fmt.Println(path.Dir("/a/b/c")) |
| fmt.Println(path.Dir("a/b/c")) |
| fmt.Println(path.Dir("/a/")) |
| fmt.Println(path.Dir("a/")) |
| fmt.Println(path.Dir("/")) |
| fmt.Println(path.Dir("")) |
| // Output: |
| // /a/b |
| // a/b |
| // /a |
| // a |
| // / |
| // . |
| } |
| |
| func ExampleExt() { |
| fmt.Println(path.Ext("/a/b/c/bar.css")) |
| fmt.Println(path.Ext("/")) |
| fmt.Println(path.Ext("")) |
| // Output: |
| // .css |
| // |
| // |
| } |
| |
| func ExampleIsAbs() { |
| fmt.Println(path.IsAbs("/dev/null")) |
| // Output: true |
| } |
| |
| func ExampleJoin() { |
| fmt.Println(path.Join("a", "b", "c")) |
| fmt.Println(path.Join("a", "b/c")) |
| fmt.Println(path.Join("a/b", "c")) |
| |
| fmt.Println(path.Join("a/b", "../../../xyz")) |
| |
| fmt.Println(path.Join("", "")) |
| fmt.Println(path.Join("a", "")) |
| fmt.Println(path.Join("", "a")) |
| |
| // Output: |
| // a/b/c |
| // a/b/c |
| // a/b/c |
| // ../xyz |
| // |
| // a |
| // a |
| } |
| |
| func ExampleMatch() { |
| fmt.Println(path.Match("abc", "abc")) |
| fmt.Println(path.Match("a*", "abc")) |
| fmt.Println(path.Match("a*/b", "a/c/b")) |
| // Output: |
| // true <nil> |
| // true <nil> |
| // false <nil> |
| } |
| |
| func ExampleSplit() { |
| split := func(s string) { |
| dir, file := path.Split(s) |
| fmt.Printf("path.Split(%q) = dir: %q, file: %q\n", s, dir, file) |
| } |
| split("static/myfile.css") |
| split("myfile.css") |
| split("") |
| // Output: |
| // path.Split("static/myfile.css") = dir: "static/", file: "myfile.css" |
| // path.Split("myfile.css") = dir: "", file: "myfile.css" |
| // path.Split("") = dir: "", file: "" |
| } |