要遍歷自定義集合類(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)型。