Go 语言 – 哈希表(map)

如何看待工业利润的修复?

作者:明明债券研究团队 来源:明晰笔谈  核心观点 4月工业利润整体边际修复,但不同所有制、不同行业分化较为明显,国有以及中上游利润走弱、私营以及中下游的利润回暖,量价因素只是原因之一,管理成本、投资收益等因素对利润的影响也不容忽视。随着原材料价格回温以及基建…

map 又称哈希表,是一种一种无序的键值对的集合

map 最重要特点是通过 key 来快速检索数据,key 类似于索引,指向数据的值

Go 语言中的 map 也是一种集合,所以我们可以像迭代数组和切片那样迭代它

但在迭代时需要注意:map 是无序的,我们无法决定它的返回顺序,因为 map 是使用 hash 表来实现的

定义 map

1.使用内建函数 make 来定义 map

map_variable := make(map[key_data_type]value_data_type)

2. 使用 map 关键字来定义 map

这种方式声明的 map 默认是 nil

var map_variable map[key_data_type]value_data_type

如果不初始化 map,那么就会创建一个 nil map

nil map 不能用来存放键值对

范例

下面的范例演示了如何定义 map 和如何通过 键(key) 访问 map 中的元素

/**
 * file: main.go
 * author: 简单教程(www.twle.cn)
 * Copyright © 2015-2065 www.twle.cn. All rights reserved.
 */

package main

import "fmt"

func main() {
   var countryCapitalmap map[string]string
   /* 创建集合 */
   countryCapitalmap = make(map[string]string)

   /* map 插入 key-value 对,各个国家对应的首都 */
   countryCapitalmap["France"] = "Paris"
   countryCapitalmap["Italy"] = "Rome"
   countryCapitalmap["Japan"] = "Tokyo"
   countryCapitalmap["India"] = "New Delhi"

   /* 使用 key 输出 map 值 */
   for country := range countryCapitalmap {
      fmt.Println("Capital of",country,"is",countryCapitalmap[country])
   }

   /* 查看元素在集合中是否存在 */
   captial, ok := countryCapitalmap["United States"]
   /* 如果 ok 是 true, 则存在,否则不存在 */
   if(ok){
      fmt.Println("Capital of United States is", captial)  
   }else {
      fmt.Println("Capital of United States is not present") 
   }
}

编译运行以上 Go 范例,输出结果如下

Capital of France is Paris
Capital of Italy is Rome
Capital of Japan is Tokyo
Capital of India is New Delhi
Capital of United States is not present

韩国LG集团子公司开发全球通用区块链身份证明

比特币日报讯,韩国LG集团子公司LG CNS宣布,将与加拿大一家去中心化身份认证(DID)领域的企业“Ever”合作推进全球通用的身份证明开发项目。LG CNS解释称,DID(Decentralized Identity)是以区块链为基础的身份证明体系,只要在…

Click to rate this post!
[Total: 0 Average: 0]

人已赞赏
Go语言技术开发

Go 语言 - 切片(slice)

2020-5-29 16:26:14

Go语言技术开发

Go 语言 - range 关键字

2020-5-29 16:27:18

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索