gpt4 book ai didi

dictionary - 取消引用类型映射

转载 作者:行者123 更新时间:2023-12-01 22:38:50 26 4
gpt4 key购买 nike

我正在尝试取消引用 channel 并使用 channel 中的有效负载来检查 map 中是否有条目。

如果 map 不是类型,它可以工作,但如果 map 有类型,我总是会收到类型为 <map> 的错误不是表达式。

type writechan chan UserProfile
type usersmap map[string]UserProfile
var myuserprofile UserProfile
myuserprofile = <-myuserchannel
var username = myuserprofile.name

if _, ok := usersmap[username]; ok {
fmt.Println("Already registered ")
} else {
usersmap[username] = myuserprofile
}

错误消息在 if 行中说 type usersmap is not an expression"。如果我不使用 usermap 类型,但使用法线贴图说 map[string]string 它可以正常工作。

最佳答案

type usersmap map[string]UserProfile

这是 type declaration ,它不会创建名为 usersmap 的变量.在此类型声明之后,您可以使用 usersmap (类型)标识符来创建这样的变量:
var umap usersmap

并初始化它:
umap = make(usersmap)

或者在一行中:
var umap = make(usersmap)

或使用 short variable declaration初始化:
umap := usersmap{}

此外,要创建映射类型的变量,您不必创建新类型,您可以简单地编写:
var umap = make(map[string]UserProfile)

关于dictionary - 取消引用类型映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58710055/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com