go學習筆記 Routine和Channel下

2021-07-01 23:57:36 字數 722 閱讀 2944

上文從基礎層面講解了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 ...