golang中map的crud操作
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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | package main import "fmt" //map的增删改查 func main() { school := make( map [string]string, 10) school[ "no1" ] = "清华大学" //如果没有key,则为增添,如果key已经存在,则为修改 school[ "no1" ] = "北京大学" //修改 school[ "no2" ] = "清华大学" //增添 school[ "no5" ] = "复旦大学" //增添 school[ "no6" ] = "上海交通大学" //增添 //map查找 val, catch := school[ "no2" ] if catch { fmt.Printf( "有no2 key值为%v\n" , val) } else { fmt.Println( "没有no2" ) } //map删除,delete(map,"key"),delete是一个内置函数,如果key存在,就删除该key,如果key不存在,不操作,但是也不会报错 school[ "no3" ] = "野鸡大学" //新添 fmt.Println(school) delete(school, "no3" ) //删除key为no3的内容 delete(school, "no4" ) //delete指定的key不存在,不会执行删除操作,但是也没有报错 fmt.Println(school) /* 如果要删除map所有的key,没有一个专门的方法一次性删除 1.但是可以遍历key逐个删除 2.或者map = make(),make一个新的空间,让原来的成为垃圾,被gc回收 */ //1.遍历所有的key for key, value := range school { fmt.Printf( "key=%v value=%v\n" , key, value) } //2.直接make一个新的空间 school = make( map [string]string) fmt.Println(school) //对较为复杂的map进行for-range遍历 id := make( map [string] map [string]string) id[ "no1" ] = make( map [string]string, 3) id[ "no1" ][ "name" ] = "派克" id[ "no1" ][ "sex" ] = "男" id[ "no1" ][ "address" ] = "比尔吉沃特" id[ "no2" ] = make( map [string]string, 3) id[ "no2" ][ "name" ] = "佐伊" id[ "no2" ][ "sex" ] = "女" id[ "no2" ][ "address" ] = "巨神峰" id[ "no3" ] = make( map [string]string, 3) id[ "no3" ][ "name" ] = "锤石" id[ "no3" ][ "sex" ] = "男" id[ "no3" ][ "address" ] = "暗影岛" for key1, value1 := range id { fmt.Println( "key1=" , key1) for key2, value2 := range value1 { fmt.Printf( "\t key2=%v value2=%v\n" , key2, value2) } fmt.Println() } fmt.Println( "id 有" , len(id), "对 key" ) } |
__EOF__

本文作者:StarGazer
本文链接:https://www.cnblogs.com/PatrickStarGazer/p/15959049.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/PatrickStarGazer/p/15959049.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现