未加星标

golang中filepath包的使用

字体大小 | |
[系统(windows) 所属分类 系统(windows) | 发布者 店小二04 | 时间 2018 | 作者 红领巾 ] 0人收藏点击收藏
func Abs(path string) (string, error) package main import ( "path/filepath" "os" "fmt") func main() { // pName := os.Args[0] absName, err := filepath.Abs(pName) if err != nil{ fmt.Println(err) } fmt.Println(absName) } func Base(path string) string package main import ( "path/filepath" "fmt") func main() { baseName := filepath.Base("/a/b/c/e.txt") fmt.Println(baseName) } func Clean(path string) string package main import ( "path/filepath" "fmt") func main() { p := "../..//././//a/b/c.txt" pc := filepath.Clean(p) fmt.Println(pc) } func Dir(path string) string package main import ( "path/filepath" "fmt") func main() { d := filepath.Dir("/a/b/c/d.txt") fmt.Println(d) } func EvalSymlinks(path string) (string, error) package mainimport ( "path/filepath" "fmt")func main() { e, _:= filepath.EvalSymlinks("/Users/hyhu/SourcePrj/mysourceprj") fmt.Println(e) } func Ext(path string) string package main import ( "path/filepath" "fmt") func main() { e := filepath.Ext("/Users/1.txt") fmt.Println(e) } func FromSlash(path string) string package main import ( "path/filepath" "fmt") func main() { //windows下有效果 r := filepath.FromSlash("/a//b/c/d.txt") fmt.Println(r) } func Glob(pattern string) (matches []string, err error) package main import ( "path/filepath" "fmt") func main() { m,_ := filepath.Glob("/usr/*") fmt.Println(m) } func HasPrefix(p, prefix string) bool Go1.7中已经废弃使用 func IsAbs(path string) bool package main import ( "path/filepath" "fmt" ) func main() { b := filepath.IsAbs("/a/b/c/d.txt") fmt.Println(b) b = filepath.IsAbs("d.txt") fmt.Println(b) } func Join(elem ...string) string package main import ( "fmt" "path/filepath") func main() { 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")) } func Match(pattern, name string) (matched bool, err error) package main import ( "path/filepath" "fmt") func main() { //windows下有效果 m,_ := filepath. Match("/usr/*", "/usr/local") fmt.Println(m) } func Rel(basepath, targpath string) (string, error) package main import ( "fmt" "path/filepath" ) func main() { 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) } } func Split(path string) (dir, file string) package main import ( "fmt" "path/filepath") func main() { 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) } } func SplitList(path string) []string package main import ( "fmt" "path/filepath") func main() { fmt.Println("On Unix:", filepath.SplitList("/a/b/c:/usr/bin")) } func ToSlash(path string) string package main import ( "path/filepath" "fmt") func main() { //windows下有效果 r := filepath.ToSlash("\\a\\b\\c/d.txt") fmt.Println(r) } func VolumeName(path string) string

windows平台下

C:\foo\bar 对应的结果 C:

\\host\share\foo 对应的结果 \\host\share

package main import ( "path/filepath" "fmt") func main() { v := filepath.VolumeName("C:\foo\bar") fmt.Println(v) v = filepath.VolumeName(`\\host\share\foo"`) fmt.Println(v) } func Walk(root string, walkFn WalkFunc) error 同下 type WalkFunc

package main import ( "path/filepath" "fmt" "os") func MyWalkFunc (path string, info os.FileInfo, err error) error{ var e error fmt.Println(path, info.Name(), info.Size(), info.Mode(), info.ModTime()) return e } func main() { filepath.Walk("/", MyWalkFunc) }

本文系统(windows)相关术语:三级网络技术 计算机三级网络技术 网络技术基础 计算机网络技术

tags: fmt,filepath,func,string,path,Println,package,main,main import,error,err,txt,usr,info,Join
分页:12
转载请注明
本文标题:golang中filepath包的使用
本站链接:https://www.codesec.net/view/604548.html


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(windows) | 评论(0) | 阅读(24)