まいたけ(@maitaketurn)です。以下の記事の続きです!
https://qiita.com/maitaketurn/items/361b2f2f8396b41cfab3
Goを始めるにあたって知ってほしいツール / mom0tomoさん
ドキュメント等
-
https://golang.org/ を参照しよう
- 日本語サイトのhttp://golang.jp/ は若干内容は古いので注意。
- Goghers.slack.comに参加しよう
- ここから登録できます
- https://golangweekly.com/ を読もう:週1配信だそうです
コマンドやツールなど
-
$ go env
環境変数を出力 -
$ gofmt
,$ go fm
Formatter -
$ go vet
静的解析:コンパイラで検知できないものを見つけてくれる -
$ golint
Linter
Goをはじめるにあたって知っておいてほしいツールやテスト / micchieさん
テストパッケージ
-
testing
- golang標準のテストパッケージ
- *_test.go を作成する
- *_test.goは、
go test
を実行したときだけ評価される
テスト記法
-
TableDrivenTest
- 条件によって戻り値が異なるメソッドなどで使う
- 分岐条件と戻り値をテーブルにし、ループを回す
例)https://qiita.com/yut-kt/items/5f9eb752f40d4d2a2e97
可読性が圧倒的に良くなりますね。
テーブル駆動テストでテストするには使いやすいAPIにしないと難しいので、いい感じの設計になるっていう副次効果もある #golangtokyo
— tenntennʕ ◔ϖ◔ʔ ==Go@け25 (@tenntenn) April 19, 2019
- TestMain関数:テストの前処理(環境変数のロードや引数のパースなど)を行うfunction
func TestMain(m *testing.M)
- 詳しくは、
$ go help test
$go help testflg
で調べる
その他・知っておくと良いこと
-
GoPlayground でコードが気軽に試せる
-
func Hello
はglobal,func hello
はprivate -
defer function名でその関数の中で一番最後に実行されるようになる
-
Goのswitchはbreakが不要
-
戻り値が複数指定できる