Go中怎么遍历自定义数据结构

go
1396
2024/3/31 9:53:05
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

要遍历自定义数据结构,需要实现一个迭代器。在Go中,可以通过实现一个方法来遍历自定义数据结构。下面是一个示例:

package main

import (
	"fmt"
)

type MyData struct {
	data []int
}

func (md MyData) Iterator() <-chan int {
	ch := make(chan int)

	go func() {
		defer close(ch)
		for _, v := range md.data {
			ch <- v
		}
	}()

	return ch
}

func main() {
	data := MyData{data: []int{1, 2, 3, 4, 5}}

	for v := range data.Iterator() {
		fmt.Println(v)
	}
}

在上面的示例中,我们定义了一个自定义数据结构MyData,并实现了一个方法Iterator来生成一个通道用于遍历数据结构中的元素。在main函数中,我们创建了一个MyData实例,并通过调用Iterator方法来遍历其中的元素。

通过实现迭代器方法,可以方便地遍历自定义数据结构。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: Go中channel管道的运行原理是什么