golang 获取三种不同的路径方法(执行路径,项目路径,文件路径)


本文摘自网络,作者runningstarh,侵删。

func checkErr(err error) {
	if err != nil {
		panic(err)
	}
}

//获取当前的执行路径
//C:\Users\Vic\AppData\Local\Tempfunc getCurrentPath() string {
	s, err := exec.LookPath(os.Args[0])
	checkErr(err)
	i := strings.LastIndex(s, "\\")
	path := string(s[0 : i+1])
	return path
}

//获取当前文件的详细路径
//D:/Go/workspace/port/network_learn/server/server.go
func CurrentFile() string {
	_, file, _, ok := runtime.Caller(1)
	if !ok {
		panic(errors.New("Can not get current file info"))
	}
	return file
}


func main()  {
	//D:\Go\workspace\port
	pa,_:=os.Getwd()
	path:=getCurrentPath()
	filePath:=CurrentFile()
	fmt.Println(pa)
	fmt.Println(path)
	fmt.Println(filePath)
}

一、为什么写这样的一篇文章,因为我在获取当前文件的详细路径时找不到对应的方法,我将详细展示三种的源码方案


相关阅读 >>

手撸Golang 基本数据结构与算法 数组

windows10下编译Go项目为linux可执行文件

聊聊Gost的objectpool

我为何从php 加入到 Go 的潮流!

Go错误处理

Golang xorm mysql代码生成器

手撸Golang Go与微服务 saga模式之3

我的第一个Go程序:hello.Go

Golang 各种类型相互转换

Golang中线程和协程的区别是什么

更多相关阅读请进入《Go》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...