Go語言學習之goroutine詳解

2022-09-24 11:06:13 字數 454 閱讀 9605

什麼是goroutine?

goroutine是建立**程之上的輕量級的抽象。它允許我們以非常低的代價在同乙個位址空間中並行地執行多個函式或者方法。相比於執行緒,它的建立和銷毀的代價要小很多,並且它的排程是獨立於執行緒的。在golang中建立乙個goroutine非常簡單,使用「go」關鍵字即可:

package mainwww.cppcns.comimport ( "fmt" "time")func learning() func main()

這段**的輸出是這樣的:

my first goroutinemain function

如果把sleep去掉的話,輸出就會變成:

main function

這是因為,和執行緒一樣,golang的主函式(其實也跑在乙個goroutine中)並不會等待其它goroutine結束。如果主goroutine結束了,所有其它goroutine都將結束。

GO語言學習之陣列

陣列是乙個由 固定長度的 特定型別元素 組成的序列,乙個陣列可以由乙個或多個元素組成 因為陣列的元素是固定的,所以在go語言當中很少直接使用陣列.一 陣列宣告 陣列宣告語法 var 陣列變數名 元素數量 type 陣列的每個元素都可以通過索引下標來訪問,索引下標的範圍是從0開始,內建函式len 可以...

GO語言學習

sudo apt get install golang但是用ubuntu的庫安裝有幾個不好的地方 因此建議不要使用ubuntu的庫安裝golang環境 golang社群的安裝指導 wget tar c usr local zxf go1.6.2.linux amd64.tar.gz設定環境變數,修改...

Go語言學習

執行 go run go main函式 打包 go build 用於測試編譯包,在專案目錄下生成可執行檔案 有main包 go install 主要用來生成庫和工具。一是編譯包檔案 無main包 將編譯後的包檔案放到 pkg 目錄下 gopath pkg 二是編譯生成可執行檔案 有main包 將可執...