Goの勉強 プログラム構造

Goの勉強をやり始めたのでメモ。
プログラミング言語 Go」を読んでる。

名前

  • 大文字と小文字は区別される。
  • 予約語と事前宣言がある。 trueやintは事前宣言なので、宣言で使うことができる。
  • キャメルケースで書く

ポインタ

ポインタはアドレスを指す。
以下のようなコードも安全

var p = f()  

func f() *int {  
  v := 1  
  return &v  
}

f() を呼び出した後も引き続きローカル変数 v のアドレスが参照され、 v も破棄されない。

タプル代入

x, y = y, x  

のようなことができる。

型宣言

type PersonName string  

のようにして型を作ることができる。

name := PersonName("たなか")  

のように型変換を行うことでその型のインスタンスを作れる。

パッケージ初期化

init 関数を使うことでそのファイルのプログラム開始時の挙動を設定できる。
init 関数は呼び出すことも参照することもできない。