您好,登錄后才能下訂單哦!
這篇文章主要介紹“Go怎么實現遍歷讀取數據”,在日常操作中,相信很多人在Go怎么實現遍歷讀取數據問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Go怎么實現遍歷讀取數據”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
Go 通過 range 關鍵字來實現遍歷讀取到的數據,類似于與數組或切片。格式如下:
v, ok := <-ch
如果通道接收不到數據后 ok 就為 false,這時通道就可以使用 close() 函數來關閉。
package main
import (
"fmt"
)
func fibonacci(n int, c chan int) {
x, y := 0, 1
for i := 0; i < n; i++ {
c <- x
x, y = y, x+y
}
close(c)
}
func main() {
c := make(chan int, 10)
go fibonacci(cap(c), c)
// range 函數遍歷每個從通道接收到的數據,因為 c 在發送完 10 個
// 數據之后就關閉了通道,所以這里我們 range 函數在接收到 10 個數據
// 之后就結束了。如果上面的 c 通道不關閉,那么 range 函數就不
// 會結束,從而在接收第 11 個數據的時候就阻塞了。
for i := range c {
fmt.Println(i)
}
}
執行輸出結果為:
0 1 1 2 3 5 8 13 21 34
到此,關于“Go怎么實現遍歷讀取數據”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。