我在列表中存储了一组字符串。我遍历列表以与 string 进行比较"[the]"。当我使用该函数时strings.EqualFold,它会出现此错误:不能在函数参数中使用 e.Value (type interface {}) 作为类型字符串:需要类型断言代码如下:for e := l.Front(); e != nil; e = e.Next() { if(strings.EqualFold("[the]", e.Value)){ count++ } }
2 回答
呼如林
TA贡献1798条经验 获得超3个赞
由于 Go 的链表实现使用空interface{}来存储列表中的值,因此您必须使用类型断言(如错误指示)来访问您的值。
因此,如果您将 a 存储string在列表中,那么当您从列表中检索值时,您必须键入 assert 该值是一个字符串。
for e := l.Front(); e != nil; e = e.Next() {
if(strings.EqualFold("[the]", e.Value.(string))){
count++
}
}
- 2 回答
- 0 关注
- 163 浏览
添加回答
举报
0/150
提交
取消