golang标准库-path

本文介绍了Go语言标准库中的path包,包括IsAbs、Split、Join、Dir、Base、Ext、Clean和Match等函数的功能及使用示例。这些函数主要用于路径的处理和操作,如判断绝对路径、拼接路径、提取目录、文件名和扩展名等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

path包提供了对路径进行各种操作的一系列函数(有8个),里面的函数都比较简单,甚至源码读起来都很轻松,里面的函数大多数自己就可以轻松实现,不过go还是把这些简单的函数加进了标准库

包:path

  • 先看这些函数的作用

看了方法说明有些还是不清楚,下面展示例子:

package main

import (
	"fmt"
	"path"
)

func main() {
	// 判断路径是否是绝对路径
	fmt.Println("===判断路径是否是绝对路径==================")
	fmt.Println(path.IsAbs("/home"))                                // true
	fmt.Println(path.IsAbs("home"))                                 // false
	fmt.Println("(不适用windows系统)判断c:\\是否是绝对路径:", path.IsAbs("c:\\")) // false

	// 对路径拆分
	fmt.Println("===对路径拆分===================")
	fmt.Println(path.Split("/usr/local/bin")) // /usr/local/ bin
	fmt.Println(path.Split("usr/local/bin"))  // usr/local/ bin

	// 拼接路径(中间的空字符串会忽略)
	fmt.Println("拼接路径:", path.Join("home", "dalgurak//", "", "log")) // /home/dalgurak/log

	// 获取最后一个元素所在的目录
	fmt.Println("===获取最后一个元素所在的目录==================")
	fmt.Println(path.Dir("/home/dalgurak/"))      // /home/dalgurak
	fmt.Println(path.Dir("/home/dalgurak/app"))   // /home/dalgurak
	fmt.Println(path.Dir("/home/dalgurak/app/.")) // /home/dalgurak/app

	// 获取路径的最后一个元素
	fmt.Println("===获取路径的最后一个元素=================")
	fmt.Println(path.Base("/home/dalgurak/app"))   // app
	fmt.Println(path.Base("/home/dalgurak/app/"))  // app
	fmt.Println(path.Base("/home/dalgurak/app/.")) // .

	// 获取文件的扩展名
	fmt.Println("===获取文件扩展名====================")
	fmt.Println(path.Ext("/home/a.jpg")) // .jpg
	fmt.Println(path.Ext("/home/a."))    // .
	fmt.Println(path.Ext("/home/."))     // .
	fmt.Println(path.Ext("/home/a"))     //

	// 获取路径的简短表达方式
	fmt.Println("===获取路径的简短表达方式============")
	fmt.Println(path.Clean("../home/a")) // ../home/a
	fmt.Println(path.Clean("./home/a"))  // home/a
}

下面验证结果:

 

path包只是一些简单处理路径的函数,在平时路径的处理,拼接用得还是有不少的地方

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值