似乎没有Ranger用于覆盖自定义类型的接口。有没有类似的?或者我是否必须制作一种将类型转换为切片或映射的方法?编辑:当然我可以将 x 转换为 []struct,但这会使更改 x 的基础类型变得更加困难。
1 回答
PIPIONE
TA贡献1829条经验 获得超9个赞
循环的range变体for不能扩展到自定义集合,而不仅仅是重命名的切片、映射、字符串或通道。没有Ranger界面或类似的东西。如果您想覆盖自定义类型,请考虑使用这样的for-loop:
for x, eof := col.Next(); x, eof = col.Next(); !eof {
// ...
}
whereNext()是一个方法,它使用这样的签名遍历您的集合:
func (*MyCollection) Next() (ItemType x, bool eof)
- 1 回答
- 0 关注
- 145 浏览
添加回答
举报
0/150
提交
取消