Go言語を選ぶ理由
最近,Go言語のここが好きだとかここが嫌いだとかいう記事をたくさんみたので,自分の思うGo言語の好きなところを思いつくだけ挙げてみました.
- エラー処理の流れが追いやすい.
- エラー発生個所がコードのみから明確に読み取れる.
iferr
やifok
があればエラーが生じる可能性があって,適切に処理が必要な関数だとリファレンスを見ないでもわかる. - 深い階層でthrowされた例外をmain関数で急にcatchするようなことがない.必ず
return err
で追える.
- エラー発生個所がコードのみから明確に読み取れる.
- コーディングスタイルのルール作成に極力注意を払わなくてよい.
- 標準で最低限のツールが提供されている.
go fmt
,go vet
- 標準で最低限のツールが提供されている.
- クロスコンパイルが楽.そもそもビルドシステムが単純.
- だいたいは,
GOOS=some_os GOARCH=some_arch go build .
で済む. interface
による実装の多層化とembedded
による実装の共通化が分かれていることで,class
より処理をシンプルに書ける場合が多い.- 後方互換性が大事にされている.
- 異なるバージョンをインストールするのも簡単.
$ go install golang.org/dl/go1.17.1@latest $ go1.17.1 download $ go1.17.1 version
- 配布時にバイナリを1つ渡せば済む.
- IDEでなくても十分かける.
- Vim/NeoVimで書きやすい.
gopls
やgo fmt
,go vet
など.
- 愚直に書くことがたいていベストになる.
- foreachやwhileなど選ぶのを迷わなくてよい.
- データ構造は考える必要がある.
map
orslice
など.
- 日本語が扱いやすい.
- Gopherくんが可愛い.
- 並列化が簡単.
- テストが単純.
go test
- 標準ライブラリが読みやすい.
おおむねこのあたりの項目が自分がGo言語を好んで1選んでいる理由だと思う.
-
好んで書いているといっても,何の言語で書いても違いがないときやGoが適しているソフトウェアを書くときに他の言語より優先して選択するだけです.↩