golang map的一些使用细节
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | package main import ( "fmt" ) type Stu struct { name string age int grade float64 } func main() { //map是引用类型,遵守引用类型值传递的机制,在一个函数中接受map,修改后会直接修改原来的map //map的容量满了之后,map会自动扩容,不会发生panic,map能动态增长键值对 num := make( map [int]int, 1) //容量为1,自动扩容 num[1] = 10 num[5] = 20 num[9] = 30 modify(num) //调用函数修改num[5]值 fmt.Println(num) //map的value也经常使用struct类型,更适合管理复杂数据 student := make( map [string]Stu, 10) stu1 := Stu{ "star gazer" , 25, 100} stu2 := Stu{ "ali" , 24, 97} stu3 := Stu{ "zoe" , 5000, 91} stu4 := Stu{ "alex" , 30, 60} stu5 := Stu{ "arlia" , 27, 80} student[ "no1" ] = stu1 student[ "no2" ] = stu2 student[ "no3" ] = stu3 student[ "no4" ] = stu4 student[ "no5" ] = stu5 fmt.Println(student) //遍历学生信息 for k, v := range student { fmt.Printf( "%v 号学生的名字是 %v\n" , k, v.name) fmt.Printf( "%v 号学生的年龄是 %v\n" , k, v.age) fmt.Printf( "%v 号学生的分数是 %v\n" , k, v.grade) } } func modify(num map [int]int) { num[5] = 40 } |
__EOF__

本文作者:StarGazer
本文链接:https://www.cnblogs.com/PatrickStarGazer/p/15972042.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/PatrickStarGazer/p/15972042.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!