本を読んでも読んでも忘れるので、ここに備忘録的に書いておきます。
勉強するごとに書き足していきます。
参考書:スターティングGo言語
https://www.amazon.co.jp/dp/B01FH3KRTI/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1
変数の定義方法
// 明示的な書き方
var n int
// 初期化も行う
var n int = 3
// 複数定義
var a, b, c int
// 複数定義して初期化も行う
var a, b, c int = 1, 2, 3
// 複数定義2
var (
a, b int
name string
)
// 暗黙的な書き方
n := 0
b := true
name := "TomoProg"
パッケージ変数
package main
import (
"fmt"
)
// このnはmainパッケージの中ならどこでも参照可能
// 他の言語で言うグローバル変数に似てる
var n = 100
func main() {
n = n + 1
fmt.Printf("n=%d\n", n)
}
特殊な型 interface{}
Goではinterface{}という型が存在する。
あらゆる型との互換性を持つ型であり、int、string、配列など何でも入れられる。
変数定義時には特殊な値nil
が代入される。
var x interface{} // xはnilで初期化される
x = 1
x = 1.2
x = "string"
x = 'あ'
x = [...]int{1, 2, 3}