Go中map的创建和初始化

ck_god · · 5837 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
// code_014_map_usage project main.go
package main

import (
    "fmt"
)

func main() {
    /*Go语言中的map(映射,字典)是一种内置的数据结构,它是一个无序的key-value对的集合。
    1)键的约束:
    在一个map里所有的键都是唯一的,而且必须是支持==和!=操作符的类型
    2)切片、函数以及包含切片的结构类型这些类型由于具有引用语义,不能作为映射的键
    err, invalid map key type []string
    3)map值:
    可以是任意类型,没有限制。
    4)键值的数据类型:
    map里所有键的数据类型必须是相同的,值也必须如何,但键和值的数据类型可以不相同。
    5)注意:map是无序的,我们无法决定它的返回顺序,所以,每次打印结果的顺利有可能不同。
    */
    //1、创建
    var g1 map[int]string //默认值为nil
    g2 := map[int]string{}
    g3 := make(map[int]string)
    g4 := make(map[int]string, 10)
    fmt.Println(g1, g2, g3, g4, len(g4))

    //2、初始化
    var m1 map[int]string = map[int]string{1: "ck_god", 2: "god_girl"}
    m2 := map[int]string{1: "ck_god", 2: "god_girl"}
    fmt.Println(m1, m2)

}

结果如下:

//map[] map[] map[] map[] 0
//map[1:ck_god 2:god_girl] map[1:ck_god 2:god_girl]

本文来自:51CTO博客

感谢作者:ck_god

查看原文:Go中map的创建和初始化

入群交流(和以上内容无关):Go中文网 QQ 交流群:798786647 或加微信入微信群:274768166 备注:入群;关注公众号:Go语言中文网

5837 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传