2 回答

TA贡献2037条经验 获得超6个赞
更新
在评论中进一步澄清之后。
您的模块未初始化。在此处和此处查找官方 Go 教程。我将逐步向您展示答案。
首先需要在项目的根目录中使用。我假设你正在使用Linux,但你可以在Windows中执行相同的命令。go mod init
终端内部:
$ go mod init github.com/Rachit4/colora
其次,为了使您的主包访问您在包colora中的功能,您需要将它们更改为大写字母。export
我的项目结构:
- colora (module github.com/Rachit4/colora)
- go.mod
- colora.go
- test.go
- test/
- main.go
请在此处查看我的Go Playground以获取代码。
例如,调用同一包中的函数:
test.go
package colora
func test() {
red("I am red")
}
test/main.go
package main
import "github.com/Rachit4/colora"
func main() {
red("i am red") // this won't work
}
通过使方法大写来导出文件中的函数。colora.go
colora.go
func Red(text string) {
fmt.Println(string(colorRed), text)
}
现在它将被调用main.go
colora.Red()
我建议仔细阅读有关构建项目的信息,尽管Go在构建项目方面有非常宽松的准则 - 他们确实建议将实例的pakcages保存在单独的文件夹中。如果你想要更多的结构,你可以查看这个GitHub存储库,了解Go中的项目布局。
旧答案
因此,如果我正确理解您,您有一个go包(“github.com/Rachit4/colora”)要在新项目中导入吗?还是它仍然在同一个项目中?
如果要在新项目中导入它,您是否可能意外地为新项目提供了一个同名的模块?
例如:
项目 1:
github.com/Rachit4/colora/(go.mod中的模块)
colora.go
项目 2:
github.com/Rachit4/colora/(go.mod中的模块)
main.go <-- 导入“github.com/Rachit4/colora”
- 2 回答
- 0 关注
- 140 浏览
添加回答
举报