go沒有class
go的package 類似類的概念,包中的方法如果想被外部訪問必須大寫
協程組成
go邏輯處理器(和cpu數量有關)
go排程器
異常處理
package mainimport (
"fmt")
func main()
func f1()
func f2()
+丟擲捕獲
package main
import (
"fmt")
func main()
func f1()
}()fmt.println("我是方法1")
//丟擲異常
panic("我是丟擲錯誤")
}func f2()
go的變數型別
值型別 :int float bool string 陣列 結構體
引用型別 :指標 切片 管道 介面 map 函式
cgo 在go中呼叫c的類庫
cgo 不支援c++的類,因為c++沒有乙個二進位制介面規範,並且只支援c語言中的值型別和資料型別
go測試框架
goconvey 測試框架
gostub 打樁工具
gomock 假資料工具
monkey
go函式的返回值
go介面不用引入包
go ++ 都是放到運算元之後,沒有返回值不能用表示式
五 go語言特性 go語言筆記
defer 呼叫乙個被 defer 的函式時在函式剛要返回之前延遲執行,當函式無論怎樣返回,某資源必須釋放時,可用這種與眾不同 但有效的處理方式。傳統的例子包括解鎖互斥或關閉檔案。package main import log func main mydefer func mydefer func ...
Go語言的特性
目前有2個版本的編譯器 go原生編譯器gc和非原生編譯器gccgo編譯器,其中,gc 版本的編譯器已經被移植到 windows 平台上,並整合在主要發行版中,你也可以通過安裝 mingw 從而在 windows 平台下使用 gcc 編譯器。這兩個編譯器都是以單通道的形式工作。編譯器gc編譯速度很快,...
GO語言 陣列特性
go語言 陣列特性 與其他語言不同,go語言陣列預設是按值傳遞,也就是說,陣列變數實際上儲存的是整個陣列而不像其他語言那樣儲存的是指向陣列開頭的指標。因此賦值的時候,如果需要避免額外的記憶體開銷 特別是陣列比較大的情況下 一定要使用取位址符去賦值,而不要直接的使用賦值符號賦值!test string...