path

path

https://golang.org/pkg/path/

URLなど / 区切りのパスを扱うパッケージ。

NOTE:

  • URLパスの結合にはnet/urlを使ったほうがいい

path/filepath

https://golang.org/pkg/path/filepath/

ファイル名やパス名の操作に使える。

参考:

Examples

  • func Base … basenameコマンド相当
  • func Dir … dirnameコマンド相当

Examples:

fmt.Println("On Unix:")

fmt.Println(filepath.Base("/foo/bar/baz.js")) //=> baz.js
fmt.Println(filepath.Base("/foo/bar/baz/"))   //=> baz
fmt.Println(filepath.Base("dev.txt"))         //=> dev.txt

fmt.Println(filepath.Dir("/foo/bar/baz.js")) //=> /foo/bar
fmt.Println(filepath.Dir("/foo/bar/baz/"))   //=> /foo/bar/baz
fmt.Println(filepath.Dir("dev.txt"))         //=> .
fmt.Println(filepath.Dir("../todo.txt"))     //=> ..

func Abs

https://golang.org/pkg/path/filepath/#Abs

func Abs(path string) (string, error)

pathの絶対パスを返す。

参考:

func Join

https://golang.org/pkg/path/filepath/#Join

Signature:

func Join(elem ...string) string

ファイルパスの要素を結合してファイルパス文字列を作って返す。

Examples:

// Unix
filepath.Join("a", "b", "c") //=> a/b/c

func Walk

https://golang.org/pkg/path/filepath/#Walk

Signature:

func Walk(root string, walkFn WalkFunc) error
  • Perl5の File::Find::find に似てる。
  • ディレクトリを再帰的に探索して、関数 WalkFunc を実行
  • WalkFuncに与える関数シグネチャは下のWalkFunc型を参照

参考:

type WalkFunc

type WalkFunc func(path string, info os.FileInfo, err error) error