Go-标准库-path 天天消息
Go语言标准库中的path包提供了许多有用的函数,用于处理文件路径和目录路径。
路径拼接
path包中的Join函数可以将多个路径拼接成一个完整的路径,如下所示:
package mainimport ("fmt""path")func main() {dir := "/usr/local"file := "bin/go"fullPath := path.Join(dir, file)fmt.Println(fullPath)}
上面的代码输出为/usr/local/bin/go
。Join函数会自动添加路径分隔符,同时也会去除多余的分隔符。
【资料图】
路径分割
path包中的Split函数可以将路径分割成目录和文件名两部分,如下所示:
package mainimport ("fmt""path")func main() {path := "/usr/local/bin/go"dir, file := path.Split(path)fmt.Println("dir:", dir)fmt.Println("file:", file)}
上面的代码输出为:
dir: /usr/local/bin/file: go
获取文件名和扩展名
path包中的Base函数可以获取路径中的文件名,如下所示:
package mainimport ("fmt""path")func main() {path := "/usr/local/bin/go"fileName := path.Base(path)fmt.Println("fileName:", fileName)}
上面的代码输出为go
。如果路径以斜杠结尾,则返回空字符串。
path包中的Ext函数可以获取路径中的扩展名,如下所示:
package mainimport ("fmt""path")func main() {path := "/usr/local/bin/go.exe"ext := path.Ext(path)fmt.Println("ext:", ext)}
上面的代码输出为.exe
。
判断是否为绝对路径
path包中的IsAbs函数可以判断路径是否为绝对路径,如下所示:
package mainimport ("fmt""path")func main() {absPath := "/usr/local/bin/go"relPath := "bin/go"fmt.Println("IsAbs:", path.IsAbs(absPath))fmt.Println("IsAbs:", path.IsAbs(relPath))}
上面的代码输出为:
IsAbs: trueIsAbs: false
获取相对路径
path包中的Rel函数可以获取两个路径之间的相对路径,如下所示:
package mainimport ("fmt""path")func main() {basePath := "/usr/local"targetPath := "/usr/local/bin/go"relPath, err := path.Rel(basePath, targetPath)if err != nil {fmt.Println(err)}fmt.Println("relPath:", relPath)}
上面的代码输出为bin/go
。
上一篇:截音乐的软件 截音乐_全球快播
下一篇:最后一页
X 关闭
-
腾讯云
2023-04-27
Go-标准库-path 天天消息
-
城市网
2023-04-27
截音乐的软件 截音乐_全球快播
-
金投网
2023-04-27
南京六福黄金价格今天多少一克(2023年4月27日)
-
海外网
2023-04-27
第八届“奔向莫斯科”俄语奥林匹克竞赛在北京师范大学举办
-
南方+
2023-04-27
引育高层次人才超千人 中山火炬开发区“有才”|环球通讯
-
华夏时报
2023-04-27
平安银行一季度净利同比增13.6%背后:零售转型进入第六年 新银保如何抢占先机?
-
央广网
2023-04-27
苏州第四离休所:“夕阳”欢乐踏春行-焦点滚动
-
bilbili
2023-04-27
天天观焦点:荒野大镖客2草根朋友关卡视频攻略
-
电商报
2023-04-27
每日速看!苏宁易购联合美团将于五一期间发放1亿补贴
-
21世纪经济报道
2023-04-27
全球看热讯:前海蛇口自贸片区成立8周年 外贸进出口超3千亿年均增长23%