无效操作:(操作符 - 未在字符串上定义)

时间:2015-04-27 10:52:45

标签: go operator-keyword

arrayAll := []string{"a", "b", "c", "d", "e"}

x := p[arrayAll[i]-"a"]

go不支持运营商“ - ”, 那我怎么能得到数组的索引:arrayAll [i] - “a”

1 个答案:

答案 0 :(得分:2)

如何在字符串上定义运算符-?致电"Hello"-"World"后,您会得到什么结果?

您是否尝试对单个字符进行操作?这是明确定义的,您可能希望'c'-'a'确实等于2。考虑:

arrayAll := []byte{'a', 'b', 'c'} (or simply "abc")
x := p[arrayAll[2] - 'a']

您可能不希望减去字符串,而是减去字符的整数表示。