path包和filepath包的学习
path包
直接看实例:
package main
import (
"fmt"
"path"
)
func main() {
//返回路径的最后一个元素
fmt.Println("path.Base")
fmt.Println(path.Base("./a/b/c"))
fmt.Println(path.Base("\\a\\b\\c"))
fmt.Println(path.Base(""))
fmt.Println(path.Base("///"))
fmt.Println()
//返回等价的最短路径
//1.用一个斜线替换多个斜线
//2.清除当前路径.
//3.清除内部的..和他前面的元素
//4.以/..开头的,变成/
fmt.Println("path.Clean")
fmt.Println(path.Clean("./a/b/../"))
fmt.Println(path.Clean("../a/../b/../"))
fmt.Println(path.Clean("/a///b///c/"))
fmt.Println()
//返回最后一个目录分隔符之前的路径
//路径为空则返回.
//最后调用了clean输出
fmt.Println("path.Dir")
fmt.Println(path.Dir("./a/b/c"))
fmt.Println(path.Dir(""))
fmt.Println(path.Dir("../a///b//../c//d../"))
fmt.Println()
//返回路径中的扩展名
//如果没有点,返回空
fmt.Println("path.Ext")
fmt.Println(path.Ext("./a/b/c/d.jpg"))
fmt.Println(path.Ext("/a/b.txt"))
fmt.Println()
//判断路径是不是绝对路径
fmt.Println