golang make map 大小

发布时间:2024-12-22 19:12:39

Go语言中make()函数创建映射类型的介绍

在Go语言中,我们可以使用make()函数来创建一个映射(map)类型。映射是一个无序的键值对集合,它可以通过键来查找对应的值。而make()函数则提供了一种简单而有效的方式来创建并初始化一个映射类型。

make()函数的语法如下:

make(map[KeyType]ValueType, initialCapacity)

创建映射类型

在创建映射类型时,我们需要指定键(KeyType)和值(ValueType)的类型。键必须是可比较的类型,也就是说键的类型必须支持==运算符的比较。常见的可比较类型包括字符串、整数、浮点数等。

以下是一个创建映射类型的示例:

students := make(map[string]int)

上述代码创建了一个名为students的映射,键的类型为字符串,值的类型为整数。我们可以使用学生的名字作为键,将他们的分数作为值,来构建这个映射。

初始化映射

创建一个空映射之后,我们可以使用起始容量(initialCapacity)参数来指定映射初始的容量大小。映射的容量是指在初始创建时,映射可以容纳的键值对数量。

以下是一个初始化映射的示例:

students := make(map[string]int, 100)

上述代码初始化了一个容量为100的映射。这意味着这个映射在初始创建之后,最多可以容纳100个键值对。

向映射中添加键值对

一旦我们创建并初始化了一个映射,我们可以使用键来添加或更新对应的值。

添加键值对的语法如下:

students["Alice"] = 90
students["Bob"] = 80

上述代码将Alice和Bob的分数添加到了students映射中。我们可以使用键来查找对应的值:

fmt.Println(students["Alice"]) // 输出: 90
fmt.Println(students["Bob"])   // 输出: 80

检查键是否存在

我们可以使用key, ok := m[key]的形式来检查一个键是否存在于映射中。

以下是一个检查键是否存在的示例:

score, ok := students["Alice"]
if ok {
    fmt.Println("Alice的分数是:", score)
} else {
    fmt.Println("Alice的分数不存在")
}

如果键存在于映射中,则ok的值将为true,否则为false。

删除键值对

我们可以使用delete()函数来删除映射中的键值对。

以下是一个删除键值对的示例:

delete(students, "Alice")

上述代码将从students映射中删除了Alice的分数。

总结

通过make()函数,我们可以在Go语言中方便地创建和初始化映射类型。我们可以通过添加、更新和删除键值对,以及检查键是否存在,在映射中进行各种操作。映射作为一种常用的数据结构,可以帮助我们高效地存储和检索数据。

相关推荐