深入理解Go语言函数迭代器:从概念到实践

package main

import "fmt"

// 定义迭代器类型

type Iterator func() (int, bool)

// 创建一个函数迭代器

func NewIterator(start, end int) Iterator {

current := start

return func() (int, bool) {

if current >= end {

return 0, false

}

value := current

current++

return value, true

}

}

func main() {

// 创建一个迭代器,从0遍历到5

it := NewIterator(0, 6)

// 使用迭代器遍历元素

for {

value, ok := it()

if !ok {

break

}

fmt.Println(value)

}

}

posted @ 2024-06-21 10:16  技术颜良  阅读(21)  评论(0编辑  收藏  举报