go - 如何生成相对于模块路径的路径
问题描述
假设我在 go.mod 中的模块路径是: module github.com/User/Project
,我有一个像这样的文件结构:
.
├── go.mod
└── pkg
└── folder
└── ...
有没有办法运行一个 Go 程序,该程序将根据您所在的文件夹打印相对于模块路径的路径?
例子:
$ (~) ./executable
$ (~) github.com/User/Project
$ (~/pkg/) ./executable
$ (~/pkg/) github.com/User/Project/pkg
$ (~/pkg/folder) ./executable
$ (~/pkg/folder) github.com/User/Project/pkg/folder
到目前为止,我的思考过程是使用 os.Getwd() 和 exec.cmd("go", "env", "GOMOD").Run() 然后解析 go.mod 文件以找到模块路径等。
解决方案
有没有办法运行一个 Go 程序,该程序将根据您所在的文件夹打印相对于模块路径的路径?
不。
重新设计。正确的方法是使资产路径成为运行时选项,例如通过环境变量或命令行标志。
推荐阅读
- jquery - 如何使用 rowCallback jquery 为 R 中的 DT::Datatable 定位特定列
- css - 如何在 Stylus 中使用多个变量断点进行媒体查询?
- html - AmbiguousActionException:匹配多个操作。以下操作匹配路由数据并满足所有约束:
- html - 背景图像不透明度而不影响文本
- go - 注销后如何停止会话缓存经过身份验证的用户数据
- jsf - h:dataTable "var" 属性在 facet EL 中不起作用
- php - 获取列出所有数据表到数据数组
- spring - 使用 @Version 注释时,使用 spring data jpa 更新行不能按预期工作......?
- python - 如何手动将 IronPython ctypes c_char_p 指针设置为绝对地址?
- phalcon - 我正在尝试运行 Phalcon 应用程序。获取此 IndexController 处理程序类错误