范围超过`type x []struct` 或`type y struct`?

似乎没有Ranger用于覆盖自定义类型的接口。有没有类似的?或者我是否必须制作一种将类型转换为切片或映射的方法?

编辑:当然我可以将 x 转换为 []struct,但这会使更改 x 的基础类型变得更加困难。


噜噜哒
浏览 146回答 1
1回答

PIPIONE

循环的range变体for不能扩展到自定义集合,而不仅仅是重命名的切片、映射、字符串或通道。没有Ranger界面或类似的东西。如果您想覆盖自定义类型,请考虑使用这样的for-loop:for x, eof := col.Next(); x, eof = col.Next(); !eof {    // ...}whereNext()是一个方法,它使用这样的签名遍历您的集合:func (*MyCollection) Next() (ItemType x, bool eof)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go