go 命令和模块初始化

Go 日常开发主要围绕 go 命令。

一、常用命令

命令作用
go mod init初始化模块,创建 go.mod
go run .运行当前目录程序
go build编译程序
go test ./...运行当前模块所有测试
go mod tidy整理依赖
go fmt ./...格式化当前模块代码
go env查看 Go 环境

二、go.mod 是什么

go.mod 是 Go Modules 项目的核心文件。

示例:

module example.com/shop

go 1.26

require github.com/google/uuid v1.6.0

说明:

字段含义
module当前模块名
go这个模块声明的 Go 语言版本
require项目依赖

模块名通常有两种写法:

example.com/demo
github.com/your-name/your-project

如果只是本地练习,用 example.com/demo 即可。

三、添加依赖

例如使用 UUID:

go get github.com/google/uuid

代码:

package main

import (
	"fmt"

	"github.com/google/uuid"
)

func main() {
	id := uuid.NewString()
	fmt.Println(id)
}

整理依赖:

go mod tidy

go mod tidy 会:

  • 添加代码实际使用的依赖
  • 删除不再使用的依赖
  • 更新 go.sum

四、go.sum 是什么

go.sum 记录依赖的校验信息,用于确认依赖没有被篡改。

不要手动编辑 go.sum

正常项目里应该提交:

go.mod
go.sum

五、推荐工作流

go mod init example.com/demo
go run .
go get 某个依赖
go mod tidy
go test ./...
go build

从现在开始,本教程所有示例都默认在 Go Modules 项目中运行。