Golang 程序创建简单 Map

go programmingserver side programmingprogramming

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

算法

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

  • 使用文字表示法通过将键值对括在花括号 {} 中来初始化映射。

  • 使用冒号 ':' 语法为相应的键分配值。

  • (可选)重复步骤 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

示例

在此示例中,我们将在 golanguage 中创建一个简单的映射,用于存储编程语言的名称及其相应的流行度评级。使用 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 Maps、Waze 和 Apple Maps 等地理定位服务。这些应用程序使用映射显示位置、提供导航、计算距离并提供实时交通更新。映射可帮助用户找到路、发现附近的地方并有效地规划路线。

用户身份验证

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

结论

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


相关文章