Goでは、map(連想配列)をあまり使わないのが、正解らしいです。
こんにちは、こんばんは、138nonoです。
Goを触り始めてから、早1ヶ月半程経ちます。
自社開発のシステムを少しづつやりながら、勉強をしております。
現在、使用している、おすすめの参考書があります。
実務を意識し、普通の参考書では、なかなか教えてくれないGo特有の書き方・心得など、書いてあります
↓それがこちらの参考書になります。
*弊社に置いてある、参考書は第1版なので、少し内容が変わっているかもしれないのは、ご了承下さい。
こちらの参考書の執筆者の一人であり、私もGitHubのsqlite3でお世話になったmattnさんもいます
この参考書の中に、[mapは避ける]との記載が
フィールドの値の関係が分かりやすくなり、typeをコンパイル時に検出できるなどのメリットがあります。
Goでは、型のある言語で可能な限り、struct(構造体)で方を定義するのが吉です。
また、メソッドを追加できるのも、利点の一つですね
mapを使用し、並行処理で同時アクセスした時、変な値を読み込んだり、プログラムをクラッシュしたりする可能性があります
mapを扱う時には、排他制御に気を付ける必要があります。
その際に、syncパッケージのRW Mutexを使うのが定石になります。
こちらの参考書を使用する場合は、ある程度の基礎が必要になります。
↑私はこちらの参考書である程度の基礎を学びました。
私もmapで書いたプログラムで、想像と違った値が入って苦労しました。
書く前に、この参考書に出会いたかったなと思います
もし、余裕があれば、今書いているプログラムを改善したいなと思います。
最近、mapの概念も理解してきた気がするので(気がするだけ)、スクリプト言語も触って見たいなと思う今日この頃です。