golang
link
best practice
- Go Code Review Comments
- uber-style-guide-ja
- Effective Go
- SliceTricks
- Goのテストに入門してみよう!
- Goにおけるポインタの使いどころ
- Go Cheat Sheet
init
mkdir foo
cd foo
go mod init $(basename $PWD)
cat <<EOF > main.go
package main
func main() { println("Hello, world!") }
EOF
go run main.go
total coverage
パッケージ全体のカバレッジを計測するコマンド。 普通にやると個別のパッケージごとのカバレッジしか表示されない。
go test ./... -cover -coverpkg=./... | grep -v 'no test files' | sed -E 's/.*coverage: (.+)%.*/\\1/' | jq -s 'add'
render dependency graph
パッケージ間の依存関係を有向グラフの画像にするコマンド。
godepgraph -p $(cat go.sum | awk '{print $1}' | sort -u | paste -s -d, -) -novendor -s $(go list) | dot -Tpng -o godepgraph.png