Goのセットアップとチュートリアル【2】
こんにちは、ナナオです。 前回の続きでチュートリアルをやっていこうと思います。 map package main import "fmt" func main() { // このmapはnilのため、make関数で初期化する必要がある var m map[string]int // make関数でmapを作成する m = make(map[string]int) // このマップは初期化済み m = map[string]int{ "A": 1, "B": 2, } // キーの追加 m["Answer"] = 42 fmt.Println("The value:", m["Answer"]) // キーの変更 m["Answer"] = 48 fmt.Println("The value:", m["Answer"]) // キーの削除 delete(m, "Answer") fmt.Println("The value:", m["Answer"]) // キーの取得と存在確認 v, ok := m["Answer"] fmt.Println("The value:", v, "Present?", ok) } 関数 関数も変数として定義することができますし、引数にもできます。 package main import ( "fmt" "math" ) func compute(fn func(float64, float64) float64) float64 { return fn(3, 4) } func main() { hypot := func(x, y float64) float64 { return math.Sqrt(x*x + y*y) } fmt.Println(hypot(5, 12)) fmt.Println(compute(hypot)) fmt.Println(compute(math.Pow)) } メソッド メソッドはレシーバ引数を実装することで可能です。 ...