go中map实战

一 需求

1 使用 map[string]map[string]sting 的 map 类型。

2 key:表示用户名,是唯一的,不可以重复。

3 如果某个用户名存在,就将其密码修改"888888",如果不存在就增加这个用户信息,(包括昵称 nickname 和 密码 pwd )。

4 编写一个函数 modifyUser(users map[string]map[string]sting, name string), 完成上述功能。

二 代码

package main

import (
   "fmt"
)

/*
1 使用 map[string]map[string]sting 的 map 类型。
2 key:表示用户名,是唯一的,不可以重复。
3 如果某个用户名存在,就将其密码修改"888888",如果不存在就增加这个用户信息,(包括昵称 nickname 和 密码 pwd )。
4 编写一个函数 modifyUser(users map[string]map[string]sting, name string), 完成上述功能。
*/
func modifyUser(users map[string]map[string]string, name string) {
   // 判断 users 中是否有 name
   // v , ok := users[name]
   if users[name] != nil {
      // 有这个用户
      users[name]["pwd"] = "888888"
   } else {
      // 没有这个用户
      users[name] = make(map[string]string, 2)
      users[name]["pwd"] = "888888"
      users[name]["nickname"] = "昵称~" + name
   }
}

func main() {
   users := make(map[string]map[string]string, 10)
   users["smith"] = make(map[string]string, 2)
   users["smith"]["pwd"] = "999999"
   users["smith"]["nickname"] = "小花猫"
   modifyUser(users, "tom")
   modifyUser(users, "mary")
   modifyUser(users, "smith")
   fmt.Println(users)
}

三 测试

map[mary:map[pwd:888888 nickname:昵称~mary] smith:map[nickname:小花猫 pwd:888888] tom:map[pwd:888888 nickname:昵称~tom]]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值