当前位置: 首页 > news >正文

做网站用微软雅黑侵权吗小型广告公司简介范文大全

做网站用微软雅黑侵权吗,小型广告公司简介范文大全,揭秘杭州亚运会开幕式亮点,修网络的上门电话多少Go语言中的字典 字典就是存储键值对映射关系的集合,在Go语言中,需要在声明时指定键和值的类型,此外Go语言中的字典是个无序集合,底层不会按照元素添加顺序维护元素的存储顺序。 如下所示,Go语言中字典的简单示例&…

Go语言中的字典

字典就是存储键值对映射关系的集合,在Go语言中,需要在声明时指定键和值的类型,此外Go语言中的字典是个无序集合,底层不会按照元素添加顺序维护元素的存储顺序。

如下所示,Go语言中字典的简单示例:

func DictExample() {var tempMap map[string]inttempMap = map[string]int{"one":   1,"two":   2,"three": 3,}k := "two"v, ok := tempMap[k]// ok,如果key存在,则ok为true,否则ok为falseif ok {fmt.Printf("the element of key %q:%d", k, v)} else {fmt.Println("Not found!")}
}

1 字典声明

字典的声明基本上没有多余的元素,例如:

var tempMap map[string]int
// tempMap:声明的字典变量名
// string:字典键的类型
// int:字典值的类型

2 字典初始化

Go语言中,可以先声明再初始化变量,也可以通过 := 将字典的声明和初始化合并为一条语句:

testMap := map[string]int{"one":   1,"two":   2,"three": 3,
}

打印字典testMap,发现其并没有按照存储的顺序进行打印,这是因为Go语言中字典是个无序集合。

在Go语言中,字典的初始化通常要和初始化在一起进行,如果分开了出现编译的报错,如下所示:

var tempMap map[string]int
tempMap["one"] = 1

如果需要初始化一个空的字典,需要使用Go语言内置的 make() 函数:

var tempMap = make(map[string]int)
tempMap["one"] = 1

还可以通过 make() 函数的第二个参数选择是否在创建的时候指定该字典的初始化存储容量(超出会自动扩容):

testMap = make(map[string]int, 100)

3 元素赋值

字典的赋值指定键值对即可,如下所示:

testMap["one"] = 1

注:字典初始化之后才能进行赋值操作,如果仅仅是声明,此时字典的值为 nil, 在nil 上进行操作,编译时会报panic,导致编译不通过。

4 查找元素

Go语言中,通过如下的代码查找特定的键值对:

value, ok := testMap["one"]
if ok {// 字典中存储键"one"对应的值
}
// 如上代码,value是真正返回的键值,ok是是否在字典中找到key对应值的标识,这是一个布尔值,如果查找成功,返回true,否则返回false

5 删除元素

Go语言中,使用delete() 用于删除容器内的元素,也能够用来删除字典元素,如下所示:

delete(testMap,"one")

执行删除时,如果“one”不存在或者字典尚未进行初始化,也不会产生报错。

6 遍历元素

Go语言中,可以像遍历数组一样对字典进行遍历,如下所示:

testMap := map[string]int{"one":1,"two":2,"three":3
}for key,value := range testMap {fmt.Println(key, value)
}

也可以使用匿名变量,只获取字典的值:

for _,value := range testMap {fmt.Println( value)
}

或者只获取字典的键:

for key := range testMap {fmt.Println(key)
}

7 键值对调

testMap := map[string]int{"one":   1,"two":   2,"three": 3,
}newMap := make(map[int]string)for k, v := range testMap {newMap[v] = k
}for k, v := range newMap {fmt.Println(k, v)
}

8 字典排序

Go语言中的字典是个无序集合,如果想要对字典进行排序,可以通过分别为字典的键或值创建切片,然后通过对切片进行排序实现。

按照键进行排序:

testMap := map[string]int{"one":   1,"two":   2,"three": 3,
}
// 创建切片
keys := make([]string, 0)
for key := range testMap {keys = append(keys, key)
}
// 切片排序
sort.Strings(keys)
for _, v := range keys {fmt.Println(v, testMap[v])
}

按照值进行排序:

testMap := map[string]int{"one":   1,"two":   2,"three": 3,
}
// 创建切片
values := make([]int, 0)
for _, value := range testMap {values = append(values, value)
}
// 对字典的值进行排序
sort.Ints(values)
for _, v := range values {fmt.Println(v)
}

http://www.15wanjia.com/news/189772.html

相关文章:

  • 搜索引擎 网站地图长沙旅游攻略必去的十大景点
  • 建站经验网站免费正能量下载
  • 网站卖了对方做违法吗厦门网站优化推广
  • 可以做单的猎头网站ppt模板制作免费下载
  • wordpress免费网站国外wordpress主题ux themes
  • 自己做挖矿网站wordpress糗事百科主题
  • 网站建设 zzit6python代码自动生成器
  • 优秀网站的必备要素网站做sem推广时要注意什么意思
  • 爱站长尾关键词挖掘工具如何在手机上开自己的网站
  • 网站前台模板下载杭州手机网站
  • 网站后台附件无法上传泰安百度推广公司
  • 互联网工具型网站东营市建设招标信息网
  • 管理课程培训seo网络推广公司
  • wordpress 导入网站员工做违法网站
  • 陕西省汉中市城乡建设网站wordpress 网络验证
  • 东莞网站建设公司企业易语言做网站视频
  • 网站开发课程设计体会网站设计方案大全
  • 永久建站平台企业网站维护报价
  • 做网站用哪个软件写比较好微信商城开发需要多少钱
  • 北京联通网站备案企业网站首页设计公司
  • 住房建设部官方网站办事大厅wordpress 表单验证码
  • 广州比较好的网站建设深圳公司注册地址可以是住宅吗
  • 成都营销类网站设计银川网站建设0951
  • 导航网站的好处网站外包制作
  • 网站 模板 安装本地的上海网站建设
  • 标签系统做的好的网站文案网站编辑怎么做
  • 做电影网站赚钱开发公司工程部管理流程
  • 二手房地产中介网站建设模仿茶叶的网站制作
  • 网站建设学什么软件学网站建设维护
  • 手机网站缩放佛山市品牌网站建设哪家好