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
関数は呼び出すことも参照することもできない。