go - 如何在`golang`中包含我的`log`包而不是内置的`log`包?
问题描述
我的项目文件夹中有一个log
包。src
但是,当我log
如下包含另一个包中的包时,go
接缝会log
在系统文件夹中而不是我的包中找到。
import ("log")
并且接缝我不能使用相对路径来导入log
包,因为go install
给出以下错误:
非本地包中的本地导入“./log”
那么我怎样才能让go
使用我的log
包呢?
解决方案
您需要在 $GOPATH 中添加您的包
所以如果你的包裹在
$GOPATH/src/github.com/ZijingWu/awesomeapp/src/
您的日志包将在
$GOPATH/src/github.com/ZijingWu/awesomeapp/src/log
那么就可以使用
import("github.com/ZijingWu/awesomeapp/src/log")
路径接缝有点奇怪,也许你应该考虑将日志包添加为 github 上的一个完全独立的存储库,所以它看起来像。
import("github.com/ZijingWu/log")
此处仅以 github 为例,当然可以放在任何地方,也可以在那里猜测您的用户名。不需要在 github 中,您可以将它本地放在您的计算机上的 $GOPATH 中,但是其他人将无法构建您的包。
推荐阅读
- php - 如何使用 php 脚本更新所有表中的所有列值?
- xml - 如何为 IntelliJ IDEA 创建 xml scala 代码格式模式
- c# - 如果我将 DateAdd 函数放在 SELECT 和 FROM 以及 FROM 和 WHERE 之间,会有什么区别
- c# - if 语句即使为真也不执行语句
- java - 从java中的枚举列表中删除一个元素
- r - 如何调用数据框中的列?
- java - 为什么 SenchaCmd 认为端口 1841 已经在使用而不是在使用中?
- java - 我可以将 OpenJDK 与 JBoss-4.2.3.GA 一起使用吗?
- python - 如何使用请求修复 Python 中的“415 Unsupported Media Type”错误
- python - 石墨烯:自定义标量上的序列化程序、parse_literal 和 parse_value 静态方法有什么区别?