兄弟連go教程(7)自定義型別
可將型別分為命名和未命名兩⼤大類。命名型別包括 bool、int、string 等,⽽而 array、
slice、map 等和具體元素型別、⻓長度等有關,屬於未命名型別。
具有相同宣告的未命名型別被視為同⼀一型別。
•具有相同基型別的指標。
•具有相同元素型別和⻓長度的 array。
•具有相同元素型別的 slice。
•具有相同鍵值型別的 map。
•具有相同元素型別和傳送⽅方向的 channel。
•具有相同欄位序列 (欄位名、型別、標籤、順序) 的匿名 struct。
•簽名相同 (引數和返回值,不包括引數名稱) 的 function。
•⽅方法集相同 (⽅方法名、⽅方法簽名相同,和次序⽆無關) 的 interface。
var a struct { x int `a` }
var b struct { x int `ab` }
// cannot use a (type struct { x int "a" }) as type struct { x int "ab" } in assignment
b = a
可⽤用 type 在全域性或函式內定義新型別。func main() {
type bigint int64
var x bigint = 100
println(x)
}
新型別不是原型別的別名,除擁有相同資料儲存結構外,它們之間沒有任何關係,不會持
有原型別任何資訊。除⾮非⺫⽬目標型別是未命名型別,否則必須顯式轉換。
x := 1234
var b bigint = bigint(x) // 必須顯式轉換,除⾮非是常量。
var b2 int64 = int64(b)
var s myslice = []int{1, 2, 3} // 未命名型別,隱式轉換。
var s2 []int = s
尹成老師
QQ77025077
微信18510341407
所有視訊在尹成學院
www.yinchengxueyuan.com
尹成百度雲請聯絡QQ475318423
相關文章
- 兄弟連go教程(2)型別-常量Go型別
- 兄弟連go教程(3)基本型別Go型別
- 兄弟連go教程(1)型別-變數Go型別變數
- 兄弟連go教程(4)型別-引用及轉換Go型別
- 兄弟連go教程(11)函式 - 函式定義Go函式
- 兄弟連go教程(5)字串Go字串
- 兄弟連go教程(6)指標Go指標
- 兄弟連go教程(16)資料 - ArrayGo
- 兄弟連go教程(17)資料 - SliceGo
- 兄弟連go教程(18)資料 - MapGo
- 兄弟連go教程(19)資料 -StructGoStruct
- 自定義型別型別
- 兄弟連go教程(10)表示式 - 控制流Go
- 兄弟連go教程(12)函式 - 變參Go函式
- Kettle自定義資料庫連線型別連線HGDB資料庫型別
- 兄弟連go教程(9)表示式-初始化Go
- 兄弟連go教程(13)函式 返回值Go函式
- 兄弟連go教程(14)函式 - 匿名函式Go函式
- 兄弟連go教程(15)函式 - 延遲呼叫Go函式
- 兄弟連go教程(19)資料 - 匿名欄位Go
- 兄弟連go教程(19)資料 - ⾯物件導向Go物件
- 兄弟連go教程(8)表示式--保留字;運算子Go
- 兄弟連go教程(15)函式 - 錯誤處理Go函式
- 自定義資料型別資料型別
- 型別自定義格式字串型別字串
- ros|自定義訊息型別ROS型別
- DM自定義資料型別資料型別
- 認真一點學 Go:12. 自定義型別和結構體 - 定義Go型別結構體
- Android 自定義構建型別 BuildTypeAndroid型別UI
- UnrealEngine建立自定義資產型別Unreal型別
- C# 泛型集合的自定義型別排序C#泛型型別排序
- MyBatis使用自定義TypeHandler轉換型別MyBatis型別
- C語言筆記——自定義型別C語言筆記型別
- Vector中存放自定義資料型別資料型別
- 認真一點學 Go:13. 自定義型別和結構體 - 方法Go型別結構體
- Mybatis使用小技巧-自定義型別轉換器MyBatis型別
- Python 多程式的自定義共享資料型別Python資料型別
- 《Haskell趣學指南》筆記之自定義型別Haskell筆記型別