package mainimport "fmt"func main() {// 1、make创建map类型的数据// var userinfo = make(map[string]string)// userinfo["username"] = "张三"// userinfo["age"] = "20"// userinfo["sex"] = "男"// // fmt.Println(userinfo)// fmt.Println(userinfo["username"])//2、map 也支持在声明的时候填充元素// var userinfo = map[string]string{// "username": "张三",// "age": "20",// "sex": "男",// }// fmt.Println(userinfo)// 3、第三种创建map类型数据的方法userinfo := map[string]string{"username": "张三","age": "20","sex": "男",}fmt.Println(userinfo)}
package mainimport "fmt"func main() {// var userinfo = map[string]string{// "username": "张三",// "age": "20",// "sex": "男",// }// fmt.Println(userinfo["username"]) //张三//for range循环遍历map类型的数据var userinfo = map[string]string{"username": "张三","age": "20","sex": "男",}for k, v := range userinfo {fmt.Printf("key:%v value:%v\n", k, v)}}
package mainimport "fmt"func main() {//map类型数据的curd//1、创建 修改map类型的数据// var userinfo = make(map[string]string)// userinfo["username"] = "张三"// userinfo["age"] = "20"// fmt.Println(userinfo)//2、创建 修改map类型的数据// var userinfo = map[string]string{// "username": "张三",// "age": "20",// }// userinfo["username"] = "李四"// fmt.Println(userinfo)//3、获取 查找map类型的数据// var userinfo = map[string]string{// "username": "张三",// "age": "20",// }// fmt.Println(userinfo["username"]) //获取// v, ok := userinfo["age"]// fmt.Println(v, ok) //20 true// v, ok := userinfo["xxxxx"]// fmt.Println(v, ok) // 空 和 false//4、删除map数据里面的key以及对于的值var userinfo = map[string]string{"username": "张三","age": "20","sex": "男","height": "180cm",}fmt.Println(userinfo)delete(userinfo, "sex")fmt.Println(userinfo)}
package mainimport "fmt"func main() {//我们想在切片里面放一系列用户的信息,这时候我们就可以定义一个元素为map类型的切片// var userinfo = []string{"张三", "李四"}var userinfo = make([]map[string]string, 2, 2)// fmt.Println(userinfo[0]) //map[] map不初始化的默认值nil// fmt.Println(userinfo[0] == nil) //trueif userinfo[0] == nil {userinfo[0] = make(map[string]string)userinfo[0]["username"] = "张三"userinfo[0]["age"] = "20"userinfo[0]["height"] = "180cm"}if userinfo[1] == nil {userinfo[1] = make(map[string]string)userinfo[1]["username"] = "李四"userinfo[1]["age"] = "22"userinfo[1]["height"] = "170cm"}fmt.Println(userinfo)}
package mainimport "fmt"func main() {//如果我们想在切片里面放一系列用户的信息的时候我们就可以定义一个map类型的切片var userinfo = make([]map[string]string, 3, 3)// fmt.Println(userinfo[0] == nil)if userinfo[0] == nil {userinfo[0] = make(map[string]string)userinfo[0]["username"] = "张三"userinfo[0]["age"] = "20"}if userinfo[1] == nil {userinfo[1] = make(map[string]string)userinfo[1]["username"] = "李四"userinfo[1]["age"] = "22"}if userinfo[2] == nil {userinfo[2] = make(map[string]string)userinfo[2]["username"] = "王五"userinfo[2]["age"] = "22"}for _, v := range userinfo {// fmt.Println(v)for key, value := range v {fmt.Printf("key:%v--value:%v\n", key, value)}}}
package mainimport "fmt"func main() {//如果我们想在map对象中存放一系列的属性的时候,我们就可以把map类型的值定义成切片// var userinfo = make(map[string]string)// userinfo["username"] = "张三"// userinfo["hobby"] = "睡觉"var userinfo = make(map[string][]string)userinfo["hobby"] = []string{"吃饭","睡觉","敲代码",}userinfo["work"] = []string{"php","golang","前端",}// fmt.Println(userinfo)for _, v := range userinfo {// fmt.Println(k, v)for _, value := range v {fmt.Println(value)}}}
package mainimport "fmt"func main() {/*值类型 :改变变量副本值的时候,不会改变变量本身的值 (基本数据类型、数组)引用类型:改变变量副本值的时候,会改变变量本身的值 (切片、map)*///map类型也是引用数据类型var userinfo1 = make(map[string]string)userinfo1["username"] = "张三"userinfo1["age"] = "20"userinfo2 := userinfo1userinfo2["username"] = "李四"fmt.Println(userinfo1)fmt.Println(userinfo2)}
package mainimport ("fmt""sort")func main() {//map的排序map1 := make(map[int]int, 10)map1[10] = 100map1[1] = 13map1[4] = 56map1[8] = 90map1[11] = 100map1[2] = 13// fmt.Println(map1)/*1 134 5610 1008 90*/// for key, val := range map1 {// fmt.Println(key, val)// }//需求:按照key升序输出map的key=>value (签名算法)//1、把map的key放在切片里面var keySlice []intfor key, _ := range map1 {keySlice = append(keySlice, key)}fmt.Println(keySlice) //[11 10 4 8 2 1]//2、让key进行升序排序sort.Ints(keySlice)fmt.Println(keySlice) //[1 2 4 8 10 11]//3、循环遍历key输出map的值for _, v := range keySlice {fmt.Printf("key=%v value=%v\n", v, map1[v])}}
package mainimport ("fmt""strings")func main() {// 写一个程序,统计一个字符串中每个单词出现的次数。比如:”how do you do”中how=1 do=2 you=1。// this is golangvar str = "how do you do"var strSlice = strings.Split(str, " ")fmt.Println(strSlice)var strMap = make(map[string]int)for _, v := range strSlice {strMap[v]++}fmt.Println(strMap)}
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论