go语言创建字典

简介: go语言创建字典

在Go语言中,并没有直接被称为“字典”的数据结构,但你可以使用map类型来模拟字典的行为。map是一种引用类型,它将一组键(key)映射到一组值(value)。一个键可以映射到最多一个值。

下面是如何在Go语言中创建和使用map(即字典)的示例:

声明和初始化map

你可以使用make函数来初始化一个空的map,或者直接使用map字面量来初始化一个包含一些键值对的map。

使用make函数

go复制代码
 package main  
 
   
 
 import "fmt"  
 
   
 
 func main() {  
 
     // 声明一个map,键的类型为string,值的类型为int  
 
     m := make(map[string]int)  
 
   
 
     // 添加键值对  
 
     m["one"] = 1  
 
     m["two"] = 2  
 
   
 
     // 访问map中的值  
 
     fmt.Println(m["one"]) // 输出: 1  
 
   
 
     // 检查键是否存在  
 
     value, exists := m["three"]  
 
     if !exists {  
 
         fmt.Println("Key does not exist")  
 
     }  
 
 }

使用map字面量

go复制代码
 package main  
 
   
 
 import "fmt"  
 
   
 
 func main() {  
 
     // 使用map字面量初始化map  
 
     m := map[string]int{  
 
         "one":   1,  
 
         "two":   2,  
 
         "three": 3,  
 
     }  
 
   
 
     // 访问map中的值  
 
     fmt.Println(m["two"]) // 输出: 2  
 
   
 
     // 遍历map  
 
     for key, value := range m {  
 
         fmt.Println(key, value)  
 
     }  
 
 }

遍历map

如上例所示,你可以使用range关键字来遍历map中的所有键值对。遍历的顺序是随机的,每次程序运行时可能不同。

删除map中的元素

你可以使用内置的delete函数来从map中删除键值对。

go复制代码
 delete(m, "two") // 从m中删除键为"two"的键值对

注意事项

当你从map中读取一个不存在的键时,会得到该map值类型的零值。对于int类型,零值是0;对于string类型,零值是空字符串""。

map是引用类型,当你将一个map赋值给另一个变量时,两个变量将引用同一个map对象。对任一变量的修改都会影响到另一个。

如果你想创建一个不可变的map(即其内容在创建后不能被修改),你需要在逻辑上确保不修改它,因为Go语言本身不提供内置的不可变map类型。


相关文章
|
13天前
|
存储 Go 索引
go语言中数组和切片
go语言中数组和切片
25 7
|
12天前
|
Go 开发工具
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。
|
13天前
|
程序员 Go
go语言中结构体(Struct)
go语言中结构体(Struct)
90 71
|
12天前
|
存储 Go 索引
go语言中的数组(Array)
go语言中的数组(Array)
97 67
|
13天前
|
存储 Go
go语言中映射
go语言中映射
30 11
|
15天前
|
Go
go语言for遍历映射(map)
go语言for遍历映射(map)
28 12
|
14天前
|
Go 索引
go语言使用索引遍历
go语言使用索引遍历
24 9
|
14天前
|
Go 索引
go语言使用range关键字
go语言使用range关键字
23 7
|
14天前
|
Go 索引
go语言修改元素
go语言修改元素
24 6
|
4天前
|
Go 数据安全/隐私保护 UED
优化Go语言中的网络连接:设置代理超时参数
优化Go语言中的网络连接:设置代理超时参数