1. Map 底层原理
2. unsafe
Go 一般命令:
build: 编译包和依赖。
clean: 移除当前源码包里面编译生成的文件。
doc: 显示包或者符号的文档。
env: 打印go的环境信息,查看GOPATH,GOROOT环境变量都可以使用该命令查看。
bug: 启动错误报告。
fix: 运行go tool fix。
fmt: 运行gofmt进行格式化。
generate: 从processing source生成go文件。
get: 下载并安装包和依赖。
install: 编译并安装包和依赖。
list: 列出包。
run: 编译并运行go程序。
test: 自动读取源码目录下面名为*_test.go的文件,生成并运行测试用的可执行文件。
tool: 运行go提供的工具。
version: 显示当前环境安装go的版本。
vet: 运行go tool vet。
Go mod命令:
go mod init [项目名称]:初始化工程项目。
go mod graph:输入工程当前所有的依赖。
go mod download: 使用此命令来下载指定的模块到本地。
go mod tidy:就是把不需要的依赖给删除掉。
go mod verify:验证mod里依赖是否正确,同时也会验证go源代码其它依赖的内容。
go mod why:可以展示及指定依赖关系。比如代码中有个依赖包,但是并不知道这个包的依赖关系,这时候就可以使用这个命令查看。
3. Makefile
make -f Makefile
#Makefile
.PHONY:tidy
tidy:
go mod tidy
.PHONY:build
build:
go build ./main.go
.PHONY:run
run:
@./main
4. golangci-lint
代码检查工具的集合,聚集了多种 Go 代码检查工具,如 golint
会自动查找项目中的 .golangci.yml 配置文件
会检查代码中潜在常见问题以及代码风格问题
# 文档:https://golangci-lint.run/
# https://github.com/golangci/golangci-lint/
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
golangci-lint --version
golangci-lint -h
# 在 vscode 配置文件中新增以下内容:
"go.lintTool":"golangci-lint",
"go.lintFlags": [
"--fast"
],
跳过代码
// 一整个文件:
//nolint:unparam
package pkg
// 部分
var bad_name int // nolint:golint,unused