Go语言创建简单映射的程序


Go 语言中的映射是强大的数据结构,允许我们存储和检索键值对。它们可用于各种应用程序,例如存储和操作数据、实现字典和执行高效查找。在本文中,我们将编写一个程序,使用两种方法(字面量方法和 make() 函数方法)在 Go 语言中创建一个简单的映射。

算法

  • 使用所需的键和值类型声明一个映射变量。

  • 使用字面量表示法初始化映射,方法是用花括号 {} 括住键值对。

  • 使用冒号 ':' 语法为各个键赋值。

  • 可选择地,对其他键值对重复步骤 2 和 3。

  • 现在映射已创建并可以使用。

语法

mapName := map[keyType]valueType{key1: value1, key2: value2, ...}

此语法表示使用字面量表示法创建映射。我们声明一个名为“mapName”的映射变量,并在方括号内指定键和值类型。在花括号内,我们提供由冒号分隔的键值对。

make(map[keyType]valueType)

此语法使用 make() 函数创建映射。我们声明一个名为“mapName”的映射变量,并赋值 make() 函数的结果,指定键和值类型作为参数。此方法创建一个空映射,我们稍后可以在其中填充键值对。

示例

在此示例中,我们将创建一个简单的 Go 语言映射,用于存储水果的名称及其相应的数量。使用字面量方法,我们可以声明并初始化一个名为 'fruitMap' 的映射,其键类型为字符串,值类型为 int。然后,我们使用表示不同水果及其数量的键值对填充映射。最后,我们可以访问并打印映射中的值。

package main

import "fmt"

func main() {
	fruitMap := map[string]int{
		"apple":  5,
		"banana": 3,
		"orange": 2,
	}

	fmt.Println("Fruit Map:", fruitMap)
	fmt.Println("Quantity of Apples:", fruitMap["apple"])
	fmt.Println("Quantity of Bananas:", fruitMap["banana"])
}

输出

Fruit Map: map[apple:5 banana:3 orange:2]
Quantity of Apples: 5
Quantity of Bananas: 3

示例

在此示例中,我们将创建一个简单的 Go 语言映射,用于存储编程语言的名称及其相应的流行度评分。使用 make() 函数方法,我们可以声明并初始化一个名为 'langMap' 的映射,其键类型为字符串,值类型为 float64。然后,我们使用表示不同编程语言及其流行度评分的键值对填充映射。最后,我们可以访问并打印映射中的值。

package main

import "fmt"

func main() {
	langMap := make(map[string]float64)

	langMap["Go"] = 9.2
	langMap["Python"] = 9.8
	langMap["JavaScript"] = 10.0

	fmt.Println("Language Map:", langMap)
	fmt.Println("Popularity of Go:", langMap["Go"])
	fmt.Println("Popularity of Python:", langMap["Python"])
}

输出

Language Map: map[Go:9.2 JavaScript:10 Python:9.8]
Popularity of Go: 9.2
Popularity of Python: 9.8

现实生活中的应用

地理位置服务

映射广泛用于 Google 地图、Waze 和 Apple 地图等地理位置服务。这些应用程序使用映射来显示位置、提供导航、计算距离并提供实时交通更新。映射帮助用户找到路线、发现附近的地点并有效地规划路线。

用户身份验证

在 Web 开发中,映射可用于存储用户身份验证数据。例如,映射可以将用户 ID 与其对应的身份验证令牌或会话数据关联起来。这允许网站在登录期间快速验证用户凭据并安全地管理用户会话。

结论

Go 语言中的映射用于基于唯一的键存储和检索值。在本文中,我们研究了如何在 Go 语言中创建一个简单的映射,包括字面量方法和 make() 函数方法。这些方法允许我们有效地声明、初始化和填充包含键值对的映射。这些方法在 Google 地图中非常有用,可以提供地图上的实时交通信息,以及存储用户身份验证数据。

更新于:2023年9月7日

浏览量:150

启动您的职业生涯

通过完成课程获得认证

开始学习
广告