如何去mod获取本地包?
How to go mod get local package?
我想要 go.mod 在 selfCheck 中获取一个文件夹(在 selfCheck 文件夹中获取包)。
selfCheck/encrypt , selfCheck/searchSchool
我的截图在这里
(不要介意供应商文件。我会删除它。)
您不需要在 go.mod 文件中要求项目本身的文件夹。 go.mod
只需要来自其他存储库的外部包。
我写了一篇关于从 Go 开始的博文,涵盖了这个问题。 https://marcofranssen.nl/start-on-your-first-golang-project
我还写了很多关于 Go 的文章https://marcofranssen.nl/categories/golang
总而言之,您应该使用 git 存储库的完整 url,以便其他项目可以依赖它作为最佳实践。
例如
go mod init github.com/your-user/selfcheck
完成后,您的 go.mod
文件如下所示。
module github.com/your-user/selfcheck
go 1.17
请注意,驼峰式外壳不是您命名包的方式。 Go包应该全部小写。
现在,如果你想按照你的要求创建子包,你应该创建文件夹。例如您的项目可能看起来像这样。
$ tree selfcheck
selfcheck
├── go.mod
├── main.go
└── searchschool
└── searchschool.go
1 directory, 3 files
现在要从 searchschool
包中引用代码,您可以在 main.go
.
中执行以下操作
package main
require (
"fmt"
"github.com/your-user/selfcheck/searchschool"
)
func main() {
fmt.Println(searchschool.Excute())
}
请注意所有函数都必须以大写字母开头才能在 searchschool 包之外访问它们。例如。 searchschool/searchschool.go
package searchschool
func Execute() string {
return privateFunc() + "!"
}
func privateFunc() string {
return "Hello World"
}
我想要 go.mod 在 selfCheck 中获取一个文件夹(在 selfCheck 文件夹中获取包)。
selfCheck/encrypt , selfCheck/searchSchool
我的截图在这里
(不要介意供应商文件。我会删除它。)
您不需要在 go.mod 文件中要求项目本身的文件夹。 go.mod
只需要来自其他存储库的外部包。
我写了一篇关于从 Go 开始的博文,涵盖了这个问题。 https://marcofranssen.nl/start-on-your-first-golang-project
我还写了很多关于 Go 的文章https://marcofranssen.nl/categories/golang
总而言之,您应该使用 git 存储库的完整 url,以便其他项目可以依赖它作为最佳实践。
例如
go mod init github.com/your-user/selfcheck
完成后,您的 go.mod
文件如下所示。
module github.com/your-user/selfcheck
go 1.17
请注意,驼峰式外壳不是您命名包的方式。 Go包应该全部小写。
现在,如果你想按照你的要求创建子包,你应该创建文件夹。例如您的项目可能看起来像这样。
$ tree selfcheck
selfcheck
├── go.mod
├── main.go
└── searchschool
└── searchschool.go
1 directory, 3 files
现在要从 searchschool
包中引用代码,您可以在 main.go
.
package main
require (
"fmt"
"github.com/your-user/selfcheck/searchschool"
)
func main() {
fmt.Println(searchschool.Excute())
}
请注意所有函数都必须以大写字母开头才能在 searchschool 包之外访问它们。例如。 searchschool/searchschool.go
package searchschool
func Execute() string {
return privateFunc() + "!"
}
func privateFunc() string {
return "Hello World"
}