golang 新人求助:关于map的定义和make函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang 新人求助:关于map的定义和make函数相关的知识,希望对你有一定的参考价值。
package main
import "fmt"
-----菜鸟教程------
func main()
var countryCapitalMap map[string]string /*创建集合 */
countryCapitalMap = make(map[string]string)
/* map插入key - value对,各个国家对应的首都 */
countryCapitalMap [ "France" ] = "巴黎"
countryCapitalMap [ "Italy" ] = "罗马"
countryCapitalMap [ "Japan" ] = "东京"
countryCapitalMap [ "India " ] = "新德里"
/*使用键输出地图值 */
for country := range countryCapitalMap
fmt.Println(country, "首都是", countryCapitalMap [country])
------菜鸟教程-------
前提:定义 Map可以使用内建函数 make 也可以使用 map 关键字来定义 Map
/* 声明变量,默认 map 是 nil */
var map_variable map[key_data_type]value_data_type
/* 使用 make 函数 */
map_variable := make(map[key_data_type]value_data_type)
提问:var countryCapitalMap map[string]string不是已经表示定义了map,为什么在上面代码中还要再用make函数 countryCapitalMap = make(map[string]string)
golang 入门--定义map的6种方式
文章目录
方式1:
var heroes map[string]string = map[string]string
"heroe1": "卢俊义",
"heroe2": "林冲",
heroes["heroe3"] = "阮小七"
fmt.Println("方式2: ", heroes)
方式1-2:类型推导同时赋值(推荐)
// 方式2-2 (类型推导)
heroes2 := map[string]string
"heroe1": "卢俊义",
"heroe2": "林冲",
heroes2["heroe3"] = "阮小七"
fmt.Println("方式2-2: ", heroes2)
方式1-3:先类型推导,后赋值(推荐)
heroes3 := map[string]string
heroes3["heroe1"] = "武松"
fmt.Println("方式1-3: ", heroes3)
方式2:make先定义,再初始化,接着再赋值
var cities3 map[string]string // 只是定义,没有分配空间,无法调用
// a["no1"] = "宋江" //此时,没有分配空间,赋值会报错
cities3 = make(map[string]string) // map分配数据空间
cities3["no1"] = "黑龙江"
cities3["no2"] = "吉林"
cities3["no3"] = "辽宁"
fmt.Println("方式2: ", cities3)
方式2-2: make,定义并初始化
var cities map[string]string = make(map[string]string) // 定义,分配数据空间,赋值
cities["no1"] = "黑龙江"
cities["no2"] = "吉林"
cities["no3"] = "辽宁"
fmt.Println("方式2-2: ", cities)
方式2-3:make,类型推导(推荐)
cities2 := make(map[string]string)
cities2["no1"] = "黑龙江"
cities2["no2"] = "吉林"
cities2["no3"] = "辽宁"
fmt.Println("方式2-3: ", cities2)
以上是关于golang 新人求助:关于map的定义和make函数的主要内容,如果未能解决你的问题,请参考以下文章