【发布时间】:2020-01-17 09:23:23
【问题描述】:
我有基本的字符串类型:type Capability string。
我想将它用作字符串映射中的字符串,但出现错误:
不能在地图索引中使用 cap (type Capability) 作为类型字符串
这是我的代码:
package main
import (
"fmt"
)
type Capability string
var 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
【问题讨论】:
-
你的地图有
string类型的键,所以你必须使用string而不是Capability。这很容易,因为您可以将 Capability 转换为字符串。 -
@Volker 我该如何交谈?与
strconv?没有看到这样做的选项。 -
我也尝试过 string(cap) 但我遇到了其他错误