go map学習
map宣言のいくつかの方法
var a map [sting] int //stringはkey値のタイプを表します int value値のタイプを表す
var b map [int] string //int key値のタイプ、stringはvalue値のタイプを表します
var c map [string] string //stringが値を表すタイプstringがvalue値を表すタイプ mapタイプの変数は、makeを使用してmapメモリ を割り当てる必要があることを宣言する必要があります.
列を示す map宣言時初期化 mapの基本動作 mapのループ mapは要素にvalueが存在するか否かを判断し、ok=map[key] keyが存在する場合true、存在しない場合false
var a map [sting] int //stringはkey値のタイプを表します int value値のタイプを表す
var b map [int] string //int key値のタイプ、stringはvalue値のタイプを表します
var c map [string] string //stringが値を表すタイプstringがvalue値を表すタイプ
列を示す
package main
import "fmt"
func map1() {
var a map [string] int
fmt.Println(a)
// a["s1"] = 123
// fmt.Println(a) //panic: assignment to entry in nil map
if a ==nil{
fmt.Println("map a nil ,need to format")
a = make(map[string]int,16) //map a nil ,need to format
a["s1"] = 123
a["s2"] = 23
fmt.Println(a,len(a)) // map[s1:123 s2:23] 2
}
}
func main() {
map1()
}
}
func map2() {
b :=map[string] string{
"first": "mondany",
"second" : "tuesday",
}
fmt.Printf("the map of b is %s",b) // the map of b is map[first:mondany second:tuesday]
}
func main() {
map2()
}
func map3() {
var c map[string] int
c = make(map[string]int, 128)
//
c["k1"]=1
c["k2"]=2
fmt.Println(c) //map[k1:1 k2:2]
//
c["k1"]=11
fmt.Println(c) //map[k1:11 k2:2]
//
delete(c,"k1")
fmt.Println(c) // map[k2:2]
}
func main() {
map3()
}
func map4() {
d :=map[string] string{
"first": "mondany",
"second" : "tuesday",
"third": "wedensday",
}
for key,value :=range d{
fmt.Printf("%s=%s
",key,value)
//
first=mondany
second=tuesday
third=wedensday
}
}
func main() {
map4()
}