已采納回答 / 洛天99
? <-? 是對管道(channel)的讀寫操作的語法,channel是goroutine之間通訊的橋梁(可能帶有緩沖區(qū))第一個for只是啟動一個 goroutine而已是非??斓?,啟動以后就不會阻塞主線程的。(啟動以后才去執(zhí)行其業(yè)務(wù)邏輯代碼), 但? 第二個for有管道操作,這個是阻塞當(dāng)前線程的
2018-02-13
最贊回答 / ccmouse
[]<-chan int是類型,表示一個數(shù)組,里面的東西是<-chan int。{}是里面的數(shù)據(jù),一開始是空的。也可以寫成var sortResult []<-chan int。這樣的話sortResult就是nil,也可以當(dāng)做空的slice來用。
2018-01-17
最贊回答 / ccmouse
謝謝同學(xué)的肯定。思想方法的確非常重要。我在實戰(zhàn)課程中都會找機(jī)會深入的講解一些思想。我的課程目標(biāo)就是不要讓大家只是學(xué)會機(jī)械性的編碼。在google面試官親授java面試中,就講解了很多基礎(chǔ)知識,設(shè)計模式等背后的思想,以及更重要的如何來寫正確的代碼。在即將上線的go語言實戰(zhàn)課程中,更是包括了go語言的設(shè)計心路歷程,取舍等,以及如何從0開始搭建項目。除此之外我還有很多想分享的思路和設(shè)計,希望能夠早日帶給大家
2018-01-14
最贊回答 / leyou240
一個進(jìn)程可輕松創(chuàng)建數(shù)十萬計的協(xié)程——許式偉Goroutine是Go里的一種輕量級線程——協(xié)程。相對線程,協(xié)程的優(yōu)勢就在于它非常輕量級,進(jìn)行上下文切換的代價非常的小。對于一個goroutine ,每個結(jié)構(gòu)體G中有一個sched的屬性就是用來保存它上下文的。這樣,goroutine 就可以很輕易的來回切換。由于其上下文切換在用戶態(tài)下發(fā)生,根本不必進(jìn)入內(nèi)核態(tài),所以速度很快。而且只有當(dāng)前goroutine 的 PC, SP等少量信息需要保存。
2018-01-04