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)

参考技术A /* 声明变量,默认 map 是 nil */

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函数的主要内容,如果未能解决你的问题,请参考以下文章

新人求助,修改百度地图定位图标

golang 入门--定义map的6种方式

golang 入门--定义map的6种方式

新人求助.apache http server 停止工作,紧急求助

新人求助,关于vmware tools安装

新人求助,关于webStorm 浏览器无法访问问题