您的位置:首页 > 娱乐 > 八卦 > Go 语言中操作映射

Go 语言中操作映射

2024/12/23 2:08:36 来源:https://blog.csdn.net/canglonghacker/article/details/140937044  浏览:    关键词:Go 语言中操作映射

1. 定义映射

        大多数主流编程语言都支持映射,因为它们可以说是存储数据的最重要的数据结构之一。映射是成对值的集合,在每对值中,其中一个称为 “键” ,另一个则为它对应的 “值”。

        可以使用映射的键来引用它对应的值,从而避免引用值本身;还可以使用映射来更改与另一个值关联的值。

        Go 通过内置的 map 数据类型来提供映射功能,基本使用格式如下所示:

map[KeyType]ValueType

        键的类型和值的类型可以不同,但所有 “键” 的类型必须相同,所有 “值” 的类型必须相同。映射中的值可以是任何类型(甚至是其他映射类型)。映射的“键” 可以是以下任何一种类型。

  • 布尔类型
  • 数值类型
  • 字符串
  • 指针
  • 包含上述类型的结构体或数组
  • 通道
  • 接口类型

        由于在映射中键是标识符,因此每个键必须在映射中是唯一的。虽然多个键值对中可以出现相同的“值”,但是同一个键不能在多个键值对中同时出现。

        可以使用 map 关键字来定义和初始化一个映射。下面代码清单给出一个简单的例子,用于存储单词在文档中出现的次数。

package mainimport {"fmt"
}func main(){FreqOccurrence := map[string]int{"hi":43,"hello":28,"hey":44,"weather":1,"great":35,}fmt.Println("map value:",FreqOccurrence)
}

 

1.1 维护类型

与在 Go 中使用其他数据结构一样,也需要小心使用映射。

package mainimport ("fmt"
)func main() {FreqOccurrence := map[string]int{"hi":      23,"hello":   2,"hey":     4,"weather": 1.5,"great":   35,}fmt.Println("Map value:", FreqOccurrence)
}
1.2 重复的键

        在使用映射时需要记住的重要一点是键必须是唯一的。下面代码尝试使用重复的键。

package mainimport ("fmt"
)func main() {FreqOccurrence := map[string]int{"hi":      23,"hello":   2,"hey":     4,"weather": 5,"great":   35,"hi":      10,}fmt.Println("Map value:", FreqOccurrence)
}

2.空映射

与其他数据类型一们,可以创建空映射,但这样做没有什么用处。

3. 使用 make 创建映射 

虽然可以在同一步骤中声明和初始化一个映射,但有时可能想定义一个还没有任何内容的映射,不过正如刚才看到的,不能将映射声明为空变量,然后使用标准语法为其添加值。

4. 映射的长度

len 函数计算映射中键的数量(进而计算出键值对的数量)。下面代码清单使用 len 来显示映射的大小。

5. 检索映射元素

因为键是映射中每个元素的标识符,所以可以使用键来检索与之相关联的值。

6. 检查映射中的键

有时,我们只想知道一个键是否存在于映射中。为此,可以使用布尔表达式来查找给定的键,并返回 true 或 false .

7. 遍历映射

与其他数据结构一样,可以使用 for 循环来遍历映射中的键值对。下面代码清单使用由映射大小决定的范围来遍历映射。

8.从映射中删除元素

Go 带有一个 delete 函数,可以使用下列语法从映射中删除键值对。

9. 使用字面值声明映射

与其他变量一样,可以在声明映射的同时将字面值添加到其中。下面代码清单在创建 months 映射时直接给出字面值。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com