Go語言特性學習
阿新 • • 發佈:2018-10-17
進制 mon bsp 不定 port 學習 調度 defer 引入
cgo 不支持c++的類,因為c++沒有一個二進制接口規範,並且只支持c語言中的值類型和數據類型
go測試框架
- go沒有class
- go的package 類似類的概念,包中的方法如果想被外部訪問必須大寫
- go邏輯處理器(和cpu數量有關)
- go調度器
異常處理
package main import ( "fmt" ) func main() { f1() f2() } func f1(){ fmt.Println("我是方法1") //拋出異常 panic("我是拋出錯誤") } func f2(){ fmt.Println("我是方法2") } + 拋出捕獲 package main import ( "fmt" ) func main() { f1() f2() } func f1() { defer func() {go的變量類型if err := recover(); err != nil { fmt.Println("我捕獲到一個錯誤:",err) fmt.Println("代碼繼續運行") } }() fmt.Println("我是方法1") //拋出異常 panic("我是拋出錯誤") } func f2() { fmt.Println("我是方法2") }
- 值類型 :int float bool string 數組 結構體
- 引用類型 :指針 切片 管道 接口 map 函數
- GoConvey 測試框架
- Gostub 打樁工具
- GoMock 假數據工具
- Monkey
- 返回值,要不都定義變量要不都不定義
Go語言特性學習