深入理解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 @   技术颜良  阅读(64)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
历史上的今天:
2023-06-21 Golang如何优雅地关闭 channel
2022-06-21 alertmanager 钉钉告警配置
2021-06-21 记一次移动ibdata1 ib_logfile0 ib_logfile1
2021-06-21 linux audit审计读懂audit日志
2021-06-21 winlogbeat-收集windows事件日志并启用默认模板、dashboard相关配置
2021-06-21 filebeat7.6.1修改索引名字后elasticsearch中没有生成新索引
点击右上角即可分享
微信分享提示