phper 的Goland学习之路--- MAp

1、map的定义:

            (1)不初始化: 

                        var  m    map[k的数据类型]v的数据类型   ;   // go编译器自动初始化,初始值是nil

             (2)定义的同时,初始化   :

                        m := map[k 的数据类型 ] v的数据类型{ key : value };

                    如:m  := map[string]int{ "age": 20 , "height" : 30}

            (4)make创建map: 

                        m2  :=  make( map[k_type] v_type);  // m2 == empty map

            (5)map的嵌套:

                        map[k 数据类型 ]map[ k2 的数据类型 ] v的数据类型

                如: map[string]map[int]string{ "stu1" : {12 : "name"} }

        注意:map类似php的关联数组 , map中的k是无序的,类似无序集合,属于哈希map

    (6)遍历map:

                for k,v := range m{   fmt.Println(k,v);  }

    (7)获取k对应value值:

                在php中,当你获取数组中不存在的下标对应的值时,会报错:下标不存在;

                但是,在go语言中,当你获取map中下标k对应的v时,如果k不存在,会返回空字符串;并不会报错

如何判断某个k是不是存在于map中???

            if  v , ok := m[k] ; ok{ fmt.Println(v);}else{ fmt.Println("%s 下标不存在",k)}  

             //  k存在map中,ok为true;k不存在,ok为false

(8)删除k和对应的值: delete(m,k )

            

总结:

phper 的Goland学习之路--- MAp

phper 的Goland学习之路--- MAp

phper 的Goland学习之路--- MAp