go
go -h [01:44:19]
Go is a tool for managing Go source code.
Usage:
go <command> [arguments]
The commands are:
bug start a bug report
build compile packages and dependencies
clean remove object files and cached files
doc show documentation for package or symbol
env print Go environment information
fix update packages to use new APIs
fmt gofmt (reformat) package sources
generate generate Go files by processing source
get add dependencies to current module and install them
install compile and install packages and dependencies
list list packages or modules
mod module maintenance
run compile and run Go program
test test packages
tool run specified go tool
version print Go version
vet report likely mistakes in packages
Use "go help <command>" for more information about a command.
Additional help topics:
buildmode build modes
c calling between Go and C
cache build and test caching
environment environment variables
filetype file types
go.mod the go.mod file
gopath GOPATH environment variable
gopath-get legacy GOPATH go get
goproxy module proxy protocol
importpath import path syntax
modules modules, module versions, and more
module-get module-aware go get
module-auth module authentication using go.sum
module-private module configuration for non-public modules
packages package lists and patterns
testflag testing flags
testfunc testing functions
Use "go help <topic>" for more information about that topic.
go mod
go buildとすると自動的にgo getしてくれるサブコマンド
go mod initで初期化する際に生成されるgo.modファイルに依存関係が書かれている。
require (
github.com/some/dependency v1.2.3
github.com/another/dependency/v4 v4.0.0
)
go fmt
標準でコードを整形してくれる機能 エディタの設定で保存時に自動実行されるように設定しておいたりCI時に実行しておくことでコードがきれいに保たれる。
vimでやるなら自分で書いても良さそうだがvim-goあたりを入れておけばだいたい問題ない。
go test
標準のテストツール。 関連ライブラリ豊富過ぎてちょっと理解が追いついていない感がある。
go test -cover -v でカバレッジを出力することも可能。 我らがjunit形式での出力をサポートするツールもあるのでGitLab runnnerとか使ってブラウザでカバレッジを確認することも容易にできる。