上文從基礎層面講解了goroutine 和 channel ,關於如何使用都停留下嘴皮子上,因此下篇選用幾個最簡單的例子來鞏固下。另外推薦下自己的個人部落格,你可以先點進行看下內容是否對您有幫助,在選擇收藏或者直接x掉。
首先,上文說到channel 有兩種情況:
例子從這兩點入手給出。
未分配快取
package main
import
"fmt"
//求和函式sum
func sum(a int,c chan
int)
c<-sum //向通道c 寫入資料值 sum
}//主程式入口
func main()
c:= make(chan
int)
go sum(a[:],c) //開闢乙個goroutine 用於進行sum函式執行
x:= <-c //讀取c通道的值賦值給x
fmt.println(x)
}
從主程式開始分析,如下分為幾個步驟:
分配快取
package main
import
"fmt"
func main()
由於理解了channel 工作機制,那麼分配快取理解起來容易一些。
結尾:
Go學習筆記
使用關鍵字var定義變數,自動初始化為零值。如果提供初始化值,可省略變數型別。在函式內部,可用更簡略的 方式定義變數。空白符號 package main import fmt func test 2,0 函式內部 定義變數陣列data 0 data 1 data 2 並賦值0,1,2,且i 0 i,...
go學習筆記
那些打不倒你的,終將讓你變的更強 package main import fmt func main 輸出結果 num1的型別是 int,數值是 30 num2的型別是 int,數值是 40 name的型別是 string,數值是 zhangshang sum的型別是 int,數值是 30 1 2 ...
Go學習筆記
go語言型別宣告語句 一 宣告變數 var 基本資料型別 1.整型 基礎型別 變數的宣告 變數的字面值為整型 var a int 自動初始化為0 變數的賦值 a 100 var b 200 隱式宣告變數並初始化 var c int 300 顯式宣告型別的變數 d 400 自動推導變數的型別 w,z ...