为了账号安全,请及时绑定邮箱和手机立即绑定

无法在字符串映射内使用字符串的基础类型:“无法使用 <xxx>(类型 <yyy>)作为映射索引中的”

无法在字符串映射内使用字符串的基础类型:“无法使用 <xxx>(类型 <yyy>)作为映射索引中的”

Go
喵喵时光机 2023-07-26 13:26:27
我有字符串的基础类型:type Capability string。我想将它用作字符串映射中的字符串,但出现错误:不能使用 cap(类型 Capability)作为映射索引中的类型字符串这是我的代码:package mainimport (    "fmt")type Capability stringvar caps_list = map[string]int {    "HOME" : 1,}func main() {    var cap Capability // string    cap = "HOME"    fmt.Print(string(caps_list[cap]))}  为什么它不接受它?毕竟它是一个字符串。您可以在这里尝试我的代码:https ://play.golang.org/p/r-h9Hu8_eoM
查看完整描述

2 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

只需要更改为string在帽子上使用:

fmt.Print(string(caps_list[string(cap)]))


查看完整回答
反对 回复 2023-07-26
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

不,它不是字符串。它是一种类型,其基本类型是字符串。

所以确切的类型很重要。您也不能将摄氏度添加到华氏度,即使这两种类型都有整数基本类型。


查看完整回答
反对 回复 2023-07-26
  • 2 回答
  • 0 关注
  • 88 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信