如何實現採用深度參數的嵌套迭代器。一個簡單的迭代器就是depth = 1的時候。它是一個簡單的迭代器,它像一個簡單的for循環一樣運行。編寫深度爲d的嵌套迭代器
func Iter() chan int {
ch := make(chan int);
go func() {
for i := 1; i < 60; i++ {
ch <- i
}
close(ch)
}();
return ch
}
輸出是1,2,3...59
對於深度= 2輸出將是"1,1" "1,2" ... "1,59" "2,1" ... "59,59"
對於深度= 3輸出將是"1,1,1" ... "59,59,59
「
我想避免嵌套for循環。這是在這裏的解決方案?
爲什麼你想避免嵌套循環?如果'Iter()'採用'depth'參數,那麼返回類型是什麼? – icza
@icza嵌套循環不讓我寫深度d的泛型迭代器?我很喜歡字符串,加入的是int, – user568109
@ user568109:在Go標準庫中使用goroutine迭代器的早期實驗被放棄了。你爲什麼想這樣做? – peterSO