Golang學習筆記 高階型別

2021-10-06 17:26:34 字數 726 閱讀 6834

高階型別 陣列

切片map 函式

介面(inte***ce)

結構體參考文件

長度不可變。

[...]int不用指定長度,為3。

內部結構三個元素:指向底層陣列某個元素的指標;切片的長度;切片的容量。

容量cap:從指標指向的元素到底層最後乙個元素的元素個數。

雜湊表,關聯陣列。

零值為nil,長度為0,不可以進行取值等操作。

指標型別和非指標型別旗下的函式都屬於指標型別;指標型別旗下的函式不屬於非指標型別(但是能呼叫)。

指標型別(包含引用)旗下的函式能改變原值(不管是指標型別呼叫還是非指標型別呼叫);非指標型別旗下的函式不能改變原值(不管是指標型別呼叫還是非指標型別呼叫)。

函式返回引數要麼全起名,要麼全不起名。

一種型別對介面的實現和其指針對對介面的實現是分開的,因此上述函式的第1.點就很重要。

乙個介面可以嵌入另乙個介面。

結構體型別不是引用型別,是值型別

引用型別的零值是nil,結構體是a{}

結構體字面量要麼全忽略(按順序),要麼全不忽略

嵌入字段:無名稱,用來額外整合欄位和方法

空結構體型別struct{}的變數不占用記憶體變數,且該型別的所有變數都擁有相同的記憶體位址,建議用於傳遞訊號(比如在goroutine中使用channel),除非需要傳遞更多的資訊

《go併發程式設計實戰(第2版)》——郝林

golang學習筆記 型別

布林型別的關鍵字為bool,值為true或false,不可寫為0或1 var v1 bool v1 true 接受表示式判斷賦值,不支援自動或強制型別轉換 1 型別表示 int和int32為不同型別,不會自動型別轉換需要強制型別轉換 強制型別轉換需注意精度損失 浮點數 整數 值溢位 大範圍 小範圍 ...

golang 學習筆記 型別

int和uint的實際寬度會根據計算架構不同而不同,386下4個位元組,amd64下8個位元組 byte可看做uint8的別名型別 rune可看做int32的別名型別,專用於儲存unicode編碼的單個字元。5種方式來表示乙個rune字面量 rune字面量表示轉義符 原生字串字面量 由反引號包裹 所...

Golang學習筆記 四 資料型別

go語言內建了豐富的資料型別,主要分為四類,基礎資料型別 復合資料型別,引用資料型別及介面資料型別,另外,在這些型別的基礎,也支援我們根據自己的資料型別,這就為我們編寫 提供很大的便利性。這一節,我們先學一下基礎資料型別中的整數型別。整數型別分兩種,有符號 int8,int16,int32,int6...