go module是Go1.11版本之后官方推出的版本管理工具,并且从Go1.13版本开始,go module将是Go语言默认的依赖管理工具。
前提
假设我们有learngo
和mypackage
两个 包,其中learngo
包中会导入mypackage包并使用它的全局变量
mypackage/utils.go
package mypackage
var Age int
var Name string
func init() {
Age = 10
Name = "tom"
}
同一个项目下调用
注意:在一个项目(project)下我们是可以定义多个包(package)的。
目录结构
现在的情况是,我们在learngo/main.go中调用了mypackage这个包。
learngo
├── go.mod
├── main.go
└── mypackage
└──utils.go
导入包这个时候,我们需要在learngo/go.mod中按如下定义:
module learngo
go 1.15
然后在learngo/main.go中按如下方式导入mypackage
package main
import (
"fmt"
"learngo/mypackage" // 导入同一项目下的mypackage包
)
func main() {
fmt.Println("main")
fmt.Println("age=", mypackage.Age) // 包名.变量名
}