Go中如何遍歷自定義集合類(lèi)型

go
小億
87
2024-04-02 17:57:05

要遍歷自定義集合類(lèi)型,在自定義類(lèi)型上實(shí)現(xiàn)一個(gè)方法來(lái)實(shí)現(xiàn)迭代。可以使用一個(gè)結(jié)構(gòu)體,結(jié)構(gòu)體包含一個(gè)slice或者map來(lái)存儲(chǔ)元素,然后實(shí)現(xiàn)一個(gè)方法來(lái)遍歷這個(gè)結(jié)構(gòu)體。

例如,假設(shè)我們有一個(gè)自定義的集合類(lèi)型叫做MyCollection,它包含一個(gè)slice來(lái)存儲(chǔ)元素,可以實(shí)現(xiàn)一個(gè)Range方法來(lái)遍歷這個(gè)集合:

package main

import "fmt"

type MyCollection struct {
	elements []int
}

func (c MyCollection) Range() {
	for _, element := range c.elements {
		fmt.Println(element)
	}
}

func main() {
	collection := MyCollection{elements: []int{1, 2, 3, 4, 5}}
	collection.Range()
}

在這個(gè)例子中,我們定義了一個(gè)MyCollection結(jié)構(gòu)體,包含一個(gè)elements字段用來(lái)存儲(chǔ)元素。然后實(shí)現(xiàn)了一個(gè)Range方法來(lái)遍歷這個(gè)集合并打印每個(gè)元素的值。

通過(guò)這種方式,我們可以輕松地遍歷自定義的集合類(lèi)型。

0