我正在嘗試將一個通道作為成員包含到結(jié)構(gòu)中。當(dāng)啟動器通過通道將結(jié)構(gòu)體的實例傳遞給不同的 goroutine 時(將同時有多個啟動器),該結(jié)構(gòu)體的實例將被逐步處理。通道成員將用作回調(diào),將每個步驟的結(jié)果返回給發(fā)起者。那么,通過其他通道將通道作為數(shù)據(jù)傳遞是一個好習(xí)慣嗎?我應(yīng)該使用通道的指針嗎?還有其他款式推薦嗎?=================一些額外的想法==============與使用全局sync.Map將啟動器映射到每個要查找的goroutine的回調(diào)通道相比,我實際上應(yīng)該通過通道發(fā)送回調(diào)通道嗎?
1 回答
慕尼黑的夜晚無繁華
TA貢獻1864條經(jīng)驗 獲得超6個贊
這不是一個壞習(xí)慣。將一個通道傳遞到另一個通道并使用它來收集結(jié)果是完全可以的。
請注意,您所描述的并不完全是回調(diào),因為 go 例程不會調(diào)用任何內(nèi)容。它只是將數(shù)據(jù)寫入通過通道傳輸?shù)耐ǖ乐小?/p>
如果您在通道中傳遞了一個函數(shù)并且 go 例程將調(diào)用它,那么您將有一個回調(diào)。
- 1 回答
- 0 關(guān)注
- 150 瀏覽
添加回答
舉報
0/150
提交
取消
