“StringType”类型是一个字符串,仅此而已。编译器抱怨第 21 行,但由于某种原因,第 16 行没有问题(如果您注释 21 并取消注释 22)。这两行之间有什么区别(都将 StringType 传递给同一个函数),为什么其中一行有效而另一行无效?这是代码,内嵌:package mainimport ( "fmt" "strings")type StringType stringconst ( FirstString = "first" SecondString = "second")func main() { fmt.Println(strings.Contains(FirstString, SecondString)) // line 16}func myFunc(a StringType, b StringType) bool { return strings.Contains(a, b) // line 21 //return false}
3 回答
三国纷争
TA贡献1804条经验 获得超7个赞
在第一种情况下,您正在传递字符串,没问题。
在第二个中,您传递StringType
值而不是字符串。您需要通过转换它们来告诉编译器它们是字符串:
代替
return strings.Contains(a, b)
和
return strings.Contains(string(a), string(b))
- 3 回答
- 0 关注
- 211 浏览
添加回答
举报
0/150
提交
取消