自从引入go.mod 后,我认为本地和外部包管理都变得更容易了。使用go.mod,也可以在 GOPATH 之外拥有 go 项目。
导入本地包:
创建文件夹demoproject并运行以下命令生成go.mod文件
go mod init demoproject
我在demoproject目录中有一个如下所示的项目结构。
├── go.mod
└── src
├── main.go
└── model
└── model.go
出于演示目的,在model.go文件中插入以下代码。
package model
type Employee struct {
Id int32
FirstName string
LastName string
BadgeNumber int32
}
在main.go中,我通过引用“demoproject/src/model”导入了 Employee 模型
package main
import (
"demoproject/src/model"
"fmt"
)
func main() {
fmt.Printf("Main Function")
var employee = model.Employee{
Id: 1,
FirstName: "First name",
LastName: "Last Name",
BadgeNumber: 1000,
}
fmt.Printf(employee.FirstName)
}
导入外部依赖:
只需go get
在项目目录中运行命令。
例如:
go get -u google.golang.org/grpc
它应该在 go.mod 文件中包含模块依赖项
module demoproject
go 1.13
require (
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa // indirect
golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9 // indirect
golang.org/x/text v0.3.2 // indirect
google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150 // indirect
google.golang.org/grpc v1.26.0 // indirect
)
https://blog.golang.org/using-go-modules