文章目录
- 本地包位于同一个项目下
- 本地包与项目包同级
- 参考
本地包位于同一个项目下
要调用的本地包位于包内,但不是同一个包名
目录结构
D:.
│ go.mod
│ main.go
│
└─mymod
sayhimod.go
其中 sayhimod.go 的包名为 mymod,main.go 的包名是 main(和 go.mod 中的 module 相同)
sayhimod.go
package mymod
import "fmt"
func SayHi() {
fmt.Println("Hi")
}
go.mod
module main
go 1.16
main.go
package main
import (
// 本地包的引用路径:外层文件的 go.mod 的名字/子目录的包名
"main/mymod"
)
func main() {
mymod.SayHi()
}
本地包与项目包同级
目录结构
D:.
├── testmod
│ ├── go.mod
│ └── main.go
└── testmod2
├── go.mod
└── mod2.go
其中 testmod2 是未上传到任何网站和远程库的本地包
/testmod2/go.mod
module testmod2
go 1.16
/testmod2/mod2.go
package testmod2
import "fmt"
func SayHi() {
fmt.Println("Hi")
}
/testmod/go.mod
module main
go 1.16
require "xxx.com/xxxfile/testmod2" v0.0.0
replace "xxx.com/xxxfile/testmod2" => "../testmod2"
因为 testmod2 并未上传到任何网站(如 github.com),所以我们通过 replace 的方式来引用本地包,更多关于 go mod 的知识,点击这里
/testmod/main.go
package main
import (
"xxx.com/xxxfile/testmod2"
)
func main() {
// 通过包名来调用包内的方法
testmod2.SayHi() // Hi
}
参考
使用go module导入本地包
最后
以上就是奋斗水蜜桃最近收集整理的关于go mod 下调用本地包本地包位于同一个项目下本地包与项目包同级参考的全部内容,更多相关go内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
" 和 “." 有什么区别?" class="embed-responsive-item">
发表评论 取消回复