ほげほげ

プログラミング、英会話、ヨガ、料理などの備忘録など。

Go ツアーを読んだ その1

ツアーを参考に、なるほどと思った点を列挙しました。

ツアー

https://go-tour-jp.appspot.com/welcome/1

basic より

  • gofmtコマンドでコードの整形ができる
  • 関数は複数の戻り値を返せる
  • 関数の戻り値の変数名を関数宣言時にできる(何が便利かはイメージつかない)
  • 変数宣言は varを使う。型は後置。 var i int
  • 複数の初期化はこんな感じでできる var i , j int = 3 , 5
  • 関数内では := を使うことでvar宣言の代わりができる. hoge := "HOGE"
  • 初期化なしの宣言の場合はゼロ値(型によって異なるデフォルト値)で初期化される
  • 定数はconstで宣言

flowcontrol より

  • for 初期化;条件;後処理 {}
  • PHPなどのwhile(true){}for true {} で記述
  • 無限ループは for {}
  • switchはcaseの最後で自動でbreakする。breakしたくない場合はfallthroughを記述
  • deferステートメントで、関数内の特定の部分を関数の実行終了後に実行できる
  • 複数のdeferステートメントがある場合はLIFOで実行される

moretypes より

  • Goはポインタを扱える.ポインタは変数のメモリアドレスを指す
  • ポインタのゼロ値はnil
  • *オペレーターはポインタの先の変数を指す
  • &オペレーターは変数のポインタを指す
  • ポインタ経由で変数の値を操作することをdereferencing や indirecting と呼ぶ
  • 構造体あり、要素へのアクセスはドット
  • 配列の長さは型の一部 var a [10]int
  • 配列のスライスは a[1:4] こんな風に書ける 今日はここまで。

Effective Go

いつか目を通す https://golang.org/doc/effective_go.html