go 执行目录

放肆的年华 提交于 2020-03-25 21:43:08

3 月,跳不动了?>>>

go 执行时当前目录的获取

package main

import (
	"fmt"
	"os"
	"path/filepath"
	"time"
)

func main() {
	fmt.Println(filepath.Abs("."))
	fmt.Println(os.Getwd())
	dir, _ := os.Executable()
	exPath := filepath.Dir(dir)
	println(dir, exPath)
	time.Sleep(time.Second * 100)
}

 

goland中执行

可以看到GetWd获取的是当前工程目录, 而不是执行文件目录

 

goland会先build一个exe, 然后再在当前工程目录下'执行', 执行完毕删除, 所以在sleep的时候拷贝出来

 

在桌面执行, 默认的当前路径是命令行的执行目录, 所以为了保证相对路径的准确, 最好使用

os.Executable()

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!