TOP ▲ itcore TOPTIPSgo.php  タグ:go 言語

GO言語の良いと思うところ | itcore 2021年

■良いと思うところ
・フォーマッタを標準搭載しているので環境設定が楽。(go fmt)
・インデントも標準化されていてgitのdiffに影響することがない。
・try-catchをなくすことでエラー時のフローをわかりやすくしながらも、関数の戻り値を複数化することで正常処理とうまく分離できる。
・使っていない宣言をエラーとしてくれるのでゴミが残らない。(開発途中はちょっと面倒ではあるが)
・暗黙の型変換がないのでバグが潜みにくい。
・変数宣言で初期値を入れれば型宣言を省略できる。
・行末にセミコロンが不要。(記述忘れやコロンのタイプミスがなくなる)
・functionがfuncになってタイプが楽。
・switchにbreakが必要ない。(個人的にswitchは使わないが、goなら使ってもいいかも)
・構造体で標準的にjsonを扱える。
・固定配列、可変配列(スライス)が使える。
・連想配列(map)も動的に要素を追加・削除できる。

■まだ使いこなせてないが、良さそう。
・ifに初期設定が書けて便利かも。
・システムエラーなどに対する防御をdefer, panic, recoverで記述できる。
・ポインタ変数があることで、C言語からの移植がしやすいかも。
・構造体によってオブジェクト指向をデータに特化して利用できる。
・使用しない変数をアンダースコア(_)で記述できる。(インデックスや戻り値など)
・interfaceで複数の構造体の処理を抽象化(処理フローを共通化)できる。
・goroutineで並行プログラミングが楽にできる。
・channelで並行処理の終了を待つことができる。
・includeがないので安易なやっつけプログラムを作れない。(パッケージとして関数化する)

■ハマったところ
・構造体のメンバ変数の先頭を大文字にしないとjson変換で値がとれなかった。(エラーにもならないので原因解明に時間がかかった)