初期設定など
Go環境の設定と、Sublimeユーザーとしては欠かせないビルドの設定など行いました。
:=みたいな記法があることと、モダンな省略が効いていながら、速度を出すためにCっぽいことなどうっすらと知っています。
一応wikipediaへのリンクを貼っておきます。
https://ja.wikipedia.org/wiki/Go_(プログラミング言語)
importもmainも自然で書きやすいです。
なんなくクリア。と思いきやPrintfをprintfと書いていることに気づかず若干ハマりました。
早速Goの記法を少し学びました。 Effective Goに詳しく書かれていますが、冒頭にこうあります。
"Names are as important in Go as in any other language. They even have semantic effect: the visibility of a name outside a package is determined by whether its first character is upper case. It's therefore worth spending a little time talking about naming conventions in Go programs."
他の言語と同様にGoでもネーミングは重要で、最初の文字が大文字ならパッケージに内包された名前を示すという決まりもあります。名前について話し合う時間を大事にしましょう
http requestを実行してみたい
ウェブアプリとして実践的なコードから書き始めると言語の学習は捗ります。ということで、Goのhttpパッケージのexampleを見てみると、レスポンスの取得後にdefer resp.Body.Close()という行を見つけました。
レスポンスの終了を明示的に実行しないといけないのは想像に難くないのですが、deferという聞き慣れないGo特有っぽい記述があります。こういう時には気になる部分をしっかり押さえておきます。
GoではException的なものはPanicと書いてraiseするようですが、その際にでもdeferされた行は実行さるとのことなので、それも試して見ましょう。
Go Playground
エラーで関数の処理が脱出した後にもそれ以前のdefer行は実行されましたが、panicした行以降に書かれたdefer行は実行されませんでした。導入ということでこの辺にします。
次回も言語になれるために、print文をいじってみます。