文章引用自

path包的使用

package main;

import (
"fmt"
"path"
) //go语言path包的学习 func main() {
//返回路径的最后一个元素
fmt.Println(path.Base("./a/b/c"));
//如果路径为空字符串,返回.
fmt.Println(path.Base(""));
//如果路径只有斜线,返回/
fmt.Println(path.Base("///")); //返回等价的最短路径
//1.用一个斜线替换多个斜线
//2.清除当前路径.
//3.清除内部的..和他前面的元素
//4.以/..开头的,变成/
fmt.Println(path.Clean("./a/b/../")); //返回路径最后一个元素的目录
//路径为空则返回.
fmt.Println(path.Dir("./a/b/c")); //返回路径中的扩展名
//如果没有点,返回空
fmt.Println(path.Ext("./a/b/c/d.jpg")); //判断路径是不是绝对路径
fmt.Println(path.IsAbs("./a/b/c"));
fmt.Println(path.IsAbs("/a/b/c")); //连接路径,返回已经clean过的路径
fmt.Println(path.Join("./a", "b/c", "../d/")); //匹配文件名,完全匹配则返回true
fmt.Println(path.Match("*", "a"));
fmt.Println(path.Match("*", "a/b/c"));
fmt.Println(path.Match("\\b", "b")); //分割路径中的目录与文件
fmt.Println(path.Split("./a/b/c/d.jpg"));
}

  

filepath包的使用

package main;

import (
"path/filepath"
"fmt"
"os"
) //学习filepath包,兼容各操作系统的文件路径 func main() {
//返回所给路径的绝对路径
path, _ := filepath.Abs("./1.txt");
fmt.Println(path); //返回路径最后一个元素
fmt.Println(filepath.Base("./1.txt"));
//如果路径为空字符串,返回.
fmt.Println(filepath.Base(""));
//如果路径只有斜线,返回/
fmt.Println(filepath.Base("///")); //返回等价的最短路径
//1.用一个斜线替换多个斜线
//2.清除当前路径.
//3.清除内部的..和他前面的元素
//4.以/..开头的,变成/
fmt.Println(filepath.Clean("C:/a/b/../c"));
fmt.Println(filepath.Clean("./1.txt")); //返回路径最后一个元素的目录
//路径为空则返回.
fmt.Println(filepath.Dir("./a/b/c"));
fmt.Println(filepath.Dir("C:/a/b/c")); //返回链接文件的实际路径
path2, _ := filepath.EvalSymlinks("1.lnk");
fmt.Println(path2); //返回路径中的扩展名
//如果没有点,返回空
fmt.Println(filepath.Ext("./a/b/c/d.jpg")); //将路径中的/替换为路径分隔符
fmt.Println(filepath.FromSlash("./a/b/c")); //返回所有匹配的文件
match, _ := filepath.Glob("./*.go");
fmt.Println(match); //判断路径是不是绝对路径
fmt.Println(filepath.IsAbs("./a/b/c"));
fmt.Println(filepath.IsAbs("C:/a/b/c")); //连接路径,返回已经clean过的路径
fmt.Println(filepath.Join("C:/a", "/b", "/c")); //匹配文件名,完全匹配则返回true
fmt.Println(filepath.Match("*", "a"));
fmt.Println(filepath.Match("*", "C:/a/b/c"));
fmt.Println(filepath.Match("\\b", "b")); //返回以basepath为基准的相对路径
path3, _ := filepath.Rel("C:/a/b", "C:/a/b/c/d/../e");
fmt.Println(path3); //将路径使用路径列表分隔符分开,见os.PathListSeparator
//linux下默认为:,windows下为;
fmt.Println(filepath.SplitList("C:/windows;C:/windows/system")); //分割路径中的目录与文件
dir, file := filepath.Split("C:/a/b/c/d.jpg");
fmt.Println(dir, file); //将路径分隔符使用/替换
fmt.Println(filepath.ToSlash("C:/a/b")); //返回分区名
fmt.Println(filepath.VolumeName("C:/a/b/c")); //遍历指定目录下所有文件
filepath.Walk("./", func(path string, info os.FileInfo, err error) error {
fmt.Println(path);
return nil;
});
}

  

Go语言基础之Path包与FilePath包的更多相关文章

  1. go语言path包和filepath包的学习与使用

    path包的使用 package main; import ( "fmt" "path" ) //go语言path包的学习 func main() { //返回 ...

  2. 【Java初探实例篇01】——Java语言基础

    示例系列,将对每节知识辅以实际代码示例,通过代码实际编写,来深入学习和巩固学习的知识点. IDE:intellij IDEA: 语言:Java 本次示例:Java语言基础知识的应用. 创建包day_4 ...

  3. Go语言基础包之net/http

    Go语言基础包之net/http Go语言内置的net/http包十分的优秀,提供了HTTP客户端和服务端的实现. net/http介绍 Go语言内置的net/http包提供了HTTP客户端和服务端的 ...

  4. [06 Go语言基础-包]

    [06 Go语言基础-包] 包 什么是包,为什么使用包? 到目前为止,我们看到的 Go 程序都只有一个文件,文件里包含一个 main 函数和几个其他的函数.在实际中,这种把所有源代码编写在一个文件的方 ...

  5. Golang学习 - path/filepath 包

    ------------------------------------------------------------ filepath 中的函数会根据不同平台做不同的处理,比如路径分隔符.卷名等. ...

  6. Go语言基础之包

    Go语言基础之包 在工程化的Go语言开发项目中,Go语言的源码复用是建立在包(package)基础之上的.本文介绍了Go语言中如何定义包.如何导出包的内容及如何导入其他包. Go语言的包(packag ...

  7. Go语言基础之time包

    Go语言基础之time包 时间和日期是我们编程中经常会用到的,本文主要介绍了Go语言内置的time包的基本用法. Go语言中导入包 Go语言中使用import关键字导入包,包的名字使用双引号(”)包裹 ...

  8. GO学习-(15) Go语言基础之包

    Go语言基础之包 在工程化的Go语言开发项目中,Go语言的源码复用是建立在包(package)基础之上的.本文介绍了Go语言中如何定义包.如何导出包的内容及如何导入其他包. Go语言的包(packag ...

  9. D01-R语言基础学习

    R语言基础学习——D01 20190410内容纲要: 1.R的下载与安装 2.R包的安装与使用方法 (1)查看已安装的包 (2)查看是否安装过包 (3)安装包 (4)更新包 3.结果的重用 4.R处理 ...

随机推荐

  1. 素问 - IC移仓换月

    摘自<小韭的学习圈> Q 股指期货的合约什么时候换月比较合适? 今天是1908股指期货的交割日,我是这么操作的:我在10:30分把IH1908以2827元卖出,然后马上以2805.8元买入 ...

  2. Weighted Visibility Graph With Complex Network Features in the Detection of Epilepsy

    Their data five data set, 100 single channel of EEG signals, each channel EEG has 4097 data point. t ...

  3. TD - setAttribute()

    添加指定的属性,并为其赋指定的值 this.sltLevelType.setAttribute("height", "100px");

  4. 第一次刷leetcode小结

    LeetCode 上不会的 Reverse Integer Gray Code Generate Parentheses Pascal's Triangle II 正方向读和反方向读保持不变的区别 T ...

  5. C#中字节数组byte[]和字符串string类型的相互转换

    C#中字节数组byte[]和字符串string类型的相互转换: string转byte[]: byte[] byteArray = System.Text.Encoding.Default.GetBy ...

  6. UES

    Spring-core-4.3.16 ObjectUtils.java public static boolean isEmpty(Object obj) { if (obj == null) { r ...

  7. SpringBoot:静态资源的访问和配置(转载)

    默认静态资源访问Spring Boot的默认静态资源的路径为: spring.resources.static-locations=classpath:/META-INF/resources/,cla ...

  8. Linux - Shell - find - 进阶: 时间与大小

    概述 继续 find 这次的内容, 参数稍微要 复杂那么一丢丢 背景 刚学会了 基础 的参数 现在来了解一些 时间 和 空间 的参数 一说到操控时间空间, 感觉立马起来了... 准备 OS cento ...

  9. selenium的定位方法-多元素定位

    在实际工作中,有些时候定位元素使用ID.NAME.CLASS_NMAE.XPATH等方法无法定位到具体元素,会发现元素属性有很多一致的,这个时候使用单元素定位方法无法准确定位到具体元素,例如,百度首页 ...

  10. 【C语言】定义一个函数,求长方体的体积

    #include<stdio.h> int volume(int a, int b,int c)/*定义函数*/ { int p; p = a * b * c; return p; } i ...