Go語言特性學習

2022-09-11 22:54:24 字數 762 閱讀 2617

go沒有class 

go的package 類似類的概念,包中的方法如果想被外部訪問必須大寫

協程組成

go邏輯處理器(和cpu數量有關)

go排程器

異常處理

package main

import (

"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...