亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

搭建并行處理管道,感受GO語言魅力

難度中級
時長 2小時17分
學習人數
綜合評分9.67
51人評價 查看評價
9.9 內容實用
9.5 簡潔易懂
9.6 邏輯清晰

最贊回答 / gypsy_gyq
1、channel 是分緩沖通道和非緩沖通道的,在 make channel 的時候,如果沒有指定通道容量,那么這就是一個非緩沖通道。非緩沖通道的特點是,必須發送和接收同時進行,否則就會等待;而緩沖通道不需要發送和接收同時進行,但是當通道滿的時候,發送方也會阻塞,必須等到接收方從通道中拿走數據后才能繼續發送。2、所以上面的代碼沒有指定容量,是一個非緩沖通道,那么必然是發送和接收同時進行的,也可以理解為 放一個 range 一個。

最贊回答 / 慕仔3302377
只要一個類型,實現了一個接口的任意方法,都能隱式轉換為該接口類型

可以看下具體的代碼
//?io.go?
//?io.Writer?接口定義
type?Writer?interface?{???
???Write(p?[]byte)?(n?int,?err?error)
}

//?file.go
//?File結構體write方法
func?(f?*File)?Write(b?[]byte)?(n?int,?err?error)?{
????//?.......
}

最新回答 / Team_軍師
因為開始已經把in1輸入到變量v1了,不更新v1的話,for循環會一直拿到的是v1的第一個值

已采納回答 / 劉景照
go語言實戰 --> go語言圣經 --> go語言高級編程?柴樹杉 / 曹春暉 / 人民郵電出版社

最新回答 / weixin_慕九州6566345
后面會有,n判斷buffer里是否還有數據,之后會對沒有的情況做處理

最新回答 / 醒說信做_陳滿
如果你單機跑整個程序(你的機器內存8G,但你需要派排序的文件8.5G)這樣子會導致程序因為內存空間不足導致panic,因此通過分片(分塊)的方法,將大文件分子別在不同的機器上面進行處理,最終再由一個機器分別匯總結果并輸出到文件。

最新回答 / Tscheung
解決了,因為多敲了一句out <-a[0], 跟著老師敲沒跟著刪掉這句話

最新回答 / 慕夢前來
把端口調小看,不要用那么大的,不好

最新回答 / 慕絲8833399
是覆蓋了,覆蓋了8個字節,剛好是一個int。然后這個buffer轉成int,并由out channel 發送出去
課程須知
1、了解一門編程語言,對基本算法如排序有了解
老師告訴你能學到什么?
1、go語言的歷史和設計初衷 2、go語言的安裝與開發環境 3、簡單的go語言程序 4、了解go語言并發編程 5、實現一個并行數據處理管道

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?

舉報

0/150
提交
取消