指令
Go module 指令
Init and create go.mod
file
go mod init github.com/xiaokatech/go-lab
运行代码
go run # 适合于小的片段代码
go help run
go build # build 二进制文件,更接近真实使用场景
go build && ./go-lab
Add dependencies
go get github.com/wagslane/go-tinytime
go mod vendor # 创建依赖清单副本, 获得依赖包的本地文件副本
Clean and fix packages
go mod tidy
Compiles and installs the program locally
go install
常用指令
go build
- 用途:编译 Go 程序。
- 示例:
go build main.go
- 编译名为main.go
的文件。
go run
- 用途:编译并运行 Go 程序。
- 示例:
go run main.go
- 编译并运行main.go
。
go test
- 用途:运行 Go 程序中的测试。
- 示例:
go test
- 在当前目录下运行所有测试。
go get
- 用途:下载并安装包及其依赖。
- 示例:
go get github.com/gorilla/mux
- 安装gorilla/mux
包。
go mod init
- 用途:初始化一个新的模块,创建
go.mod
文件。 - 示例:
go mod init mymodule
- 创建一个新模块名为mymodule
。
- 用途:初始化一个新的模块,创建
go mod tidy
- 用途:添加缺少的模块和移除不用的模块。
- 示例:
go mod tidy
- 清理模块。
go fmt
- 用途:格式化 Go 源代码。
- 示例:
go fmt ./...
- 格式化当前目录及其子目录中的所有 Go 文件。
go vet
- 用途:检查 Go 源代码中的常见错误。
- 示例:
go vet ./...
- 在当前目录及其子目录中检查代码。
go doc
- 用途:显示包或符号的文档。
- 示例:
go doc fmt
- 显示fmt
包的文档。
go env
- 用途:打印 Go 环境信息。
- 示例:
go env
- 打印当前 Go 环境的信息。
Questions
- Doesn
go run
build a production executable?- non
- Which can
go run
accept as arguments?- Both (packge names and file names)
- What was created after runing
go build
?- A executable file name "go module name"
- What does
go install
do?- Compiles and installs the program locally
- Code must be compiled with
go build
before runninggo install
- False
- What was the output from
go build
in the library package- The compiled package is silently saved to the local build cache
- Why is the function
Reverse()
instead ofreverse()
?- Lowercase names aren't exported for external use
- Does a packge in a folder named
dateparser
need to also be calleddateparser
- No, but it should by convention