はじめに
最近インターンシップや本選考を見るとやたらGo言語を使っている企業が多い気がします(笑).
なので,Go言語について勉強したいなと思い,書籍を購入しました.
今回は,Go言語初学者としてスターティングGo言語(松尾 愛賀/翔泳社)を購入し,当書を読んで感じたGoの印象を書いていきたいと思います!!
誰かしらの参考になればな...と思いながら書きましたので,気軽に見てもらえると嬉しいです😀
当書のいいところ
まずは,当書を読んでみて,いいなと思った点がたくさんあったので是非参考にしてください!!
この一冊で基礎的な部分がきっちりと記載されているため,初学者の勉強としてもわからないところを調べる辞書的な使い方のどちらもできるなと感じました.
また,自分のように一冊目から詳しくガッツリと勉強したいという人にとっては,この書籍はめちゃめちゃありです!!
この書籍はGo言語初学者向けに作られていると感じました.
その中で著者は,他言語との違いやGo言語ならこういうことができるといったメリットについて多く記載されていました.
このような,Go言語のコーディング基礎を学びながら,Go言語の本質的な基礎・特徴を学ぶことができる点は,初学者に対してGo言語に興味を持ってもらうための著者の工夫や熱い思いをひしひしと感じました.
特に,他言語を扱ったことがある人にとっては,その利点をより強く感じれるのではないでしょうか!!
「こういうコードは...が理由でエラーになってしまう」といった点が数多く記載されている.
そのため,こういう点は注意しよう/こういう風には書かないでおこうと今後コーディングをする際に意識しながらコーディングすることができました.
Go言語について学んだこと
当書で学んだGo言語のあれこれを記載しておきます.
このようにシンプルかつ簡素にコーディングが可能なため,他の言語を扱っている人にとってはそこまで苦痛にはならないのでは...という印象を受けました😊
特に,セミコロンや型名を定義せずに,実行できるといった点は,大規模な開発などにおけるコーディング時間を短縮できるといった恩恵をより感じることができそうですね~
また,個人的には,普段からPythonを利用している人は,上記の定義をしていない人も多いため,抵抗なくコーディングできるかも👀
package main
import fmt
m := 100
func main() {
m = m + 1
fmt.Println(m)
}
使っていない変数があった場合,そのまま実行してしまうとエラーになってしまうということに衝撃を受けました😲
例えば,下のコードはエラー出力されてしまいます.
package main
import fmt
m := 100
n := 200
func main() {
fmt.Println(m)
}
普段使っている言語によって違和感を感じない人もいるかもしれませんが,Pythonを使っている自分にとっては最初はエラーで引っ掛かりまくりでした.
なんでこんなに使いにくいんだ...😠と感じましたが,それが逆にGo言語のある狙いがあったんだと当書で気づかされました.
例えば下のコードを見てください.
下のコードは,変数mとnの両方を出力するプログラムと想定してください!
package main
import fmt
m := 100
n := 200
func main() {
fmt.Println(n,n) //本来ならfmt.Println(m,n)と書きたかった!!
}
このようにそれぞれ違うmとnを出力するコードを書きたかったが,うっかり両方ともnを書いてしまうことはよくあるケースです.
こういった場合でも,変数を使っていなければエラーになるGo言語の特性から,変数mを定義だけしてるけど,使ってませんよ~といったことに気付かせてくれるのだ!!
こういった意図があったんだと気づき,1分前の謎に切れてた自分に頭を冷やせ🥶と言いたくなりましたね(笑)
まとめ
今回は,Go言語初学者がスターティングGo言語で学んだことを記載しました.最後にGo言語のポイントをまとめておきます!!
グッドポイント👍
文法が基本的にシンプルで書きやすい
セミコロンや型名を書かなくてもいい
注意👀
使っていない変数があればエラーになる
次は,学んだ知識を生かして,Go言語で何か一つ開発できればな~.それではこの辺で...🙋♂️