迭代器模式
适用场景
优点
缺点
Golang Demo
package iterator
type Student struct {
name string
}
type Iters []Student
func (i Iters) Iterator() *Iterator {
return &Iterator{
data: i,
index: 0,
}
}
type Iterator struct {
data Iters
index int
}
func (i *Iterator) HasNext() bool {
return i.index < len(i.data)
}
func (i *Iterator) Next() (v Student) {
v = i.data[i.index]
i.index++
return v
}Java Demo
UML

补充另一个版本的Java/Scala Demo 以及源码解析
Java Demo_
Scala Demo
UML_
源码解析
Last updated