登录
首页 >  Golang >  Go问答

解释映射语法的方法

来源:stackoverflow

时间:2024-03-08 19:24:29 199浏览 收藏

怎么入门Golang编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《解释映射语法的方法》,涉及到,有需要的可以收藏一下

问题内容

我正在研究以下 go lang map 数据结构。我对语法有点困惑 -

//this is fine
countrycapitalmap = make(map[string]string)
/* insert key-value pairs in the map*/
countrycapitalmap["france"] = "paris"
capital, ok := countrycapitalmap["united states"]

/* print map using keys*/
for country := range countrycapitalmap {
    fmt.println("capital of", country, "is", countrycapitalmap[country])
}

是不是countrycapitalmap["united states"]从下面一行返回两个返回值

capital, ok := countrycapitalmap["united states"]

或者countrycapitalmap[country]从以下行返回单个值

fmt.Println("Capital of", country, "is", countryCapitalMap[country])

我怎样才能破译这个语法?它是否基于表达式使用的位置和语句


解决方案


我怎样才能破译这个语法?

阅读语法的定义。

形式的主要表达式

a[x]

表示由 x 索引的映射 a 的元素。值 x 称为索引或映射键。

地图上有一种特殊形式的索引表达式。

v, ok = a[x]
v, ok := a[x]
var v, ok = a[x]

产生一个额外的无类型布尔值。如果键 x 存在于映射中,则 ok 的值为 true,否则为 false。

The Go Programming Language Specification

Index expressions

形式的主要表达式

a[x]

表示数组的元素、指向数组、切片、字符串或的指针 映射由 x 索引的 a。值 x 称为索引或映射键, 分别。

对于地图类型 m:

  • x 的类型必须可分配给 m 的键类型

  • 如果映射包含键为 x 的条目,则 a[x] 为键为 x 的映射元素,a[x] 的类型为 m 的元素类型

  • 如果映射为零或不包含此类条目,则 a[x] 是 m 元素类型的零值

否则 a[x] 是非法的。

赋值中使用的类型为map[k]v的映射a上的索引表达式 或特殊形式的初始化

v, ok = a[x]
v, ok := a[x]
var v, ok = a[x]

产生一个额外的无类型布尔值。如果满足以下条件,则 ok 的值为 true: 键 x 存在于地图中,否则为 false。

今天关于《解释映射语法的方法》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>