Golang-相对路径问题
u012807459 · · 13694 次点击 · · 开始浏览先明确golang中几个参数的含义 之前理解错误了导致自己在写路径时出现了一些问题困惑了好久 特此记录
os.Args[0] 这个参数 并不是什么项目执行路径 获取的是命令行执行语句的第一句 以空格为分隔符 与项目执行路径无丝毫关系 --- 之前理解错了真惭愧啊
os.Getwd() 获取的是运行时你当前所在的路径
比如在/etc 目录下 运行/usr/main文件 最终通过Getwd获取到的值是 /etc
golang中的相对路径就是根据这个执行路径来相对的
这也就解释了我 go run 和 idea 启动 还有 supervisor启动 却经常找不到资源的原因 因为所在的执行路径都不一定是相同的自然会这样
所以 一般我现在的做法是 如果是go run 直接到目录地下go run
如果是 idea 和 supervisor启动 则是在命令行 多添加一个项目路径参数
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
先明确golang中几个参数的含义 之前理解错误了导致自己在写路径时出现了一些问题困惑了好久 特此记录
os.Args[0] 这个参数 并不是什么项目执行路径 获取的是命令行执行语句的第一句 以空格为分隔符 与项目执行路径无丝毫关系 --- 之前理解错了真惭愧啊
os.Getwd() 获取的是运行时你当前所在的路径
比如在/etc 目录下 运行/usr/main文件 最终通过Getwd获取到的值是 /etc
golang中的相对路径就是根据这个执行路径来相对的
这也就解释了我 go run 和 idea 启动 还有 supervisor启动 却经常找不到资源的原因 因为所在的执行路径都不一定是相同的自然会这样
所以 一般我现在的做法是 如果是go run 直接到目录地下go run
如果是 idea 和 supervisor启动 则是在命令行 多添加一个项目路径参数