您好,登錄后才能下訂單哦!
這篇文章主要介紹Go語言中類型別名和自定義類型的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
Go語言中沒有類的概念,也不支持“類”的繼承等面向對象的概念。
Go語言中通過結構體的內嵌再配合接口,比面向對象具有更高的擴展性和靈活性。
1.類型別名和自定義類型
1.1自定義類型
在Go語言中有一些基本的數據類型,如string,整型,浮點型,布爾等數據類型,Go語言中可以使用type關鍵字來定義自定義類型。
自定義類型是定義了一個全新的類型。我們可以基于內置的基本類型定義,也可以通過struct定義。
//將MyInt定義為int類型
type MyInt int
通過Type關鍵字的定義,MyInt就是一種新的類型,它具有int的特性。
1.2類型別名
類型別名是Go1.9版本添加的新功能。
類型別名規定:TypeAlias只是Type的別名,本質上TypeAlias與Type是同一個類型。就像我們的英文名,乳名,但這些名字都指的是一個人。
type TypeAlias = type
我們之前見過的rune和byte都是類型別名,他們的定義如下:
type byte = uint8
type rune = int32
1.3類型定義和類型別名的區別
類型別名與類型定義,表面上看只有一個等號的差異,我們可以通過下面的代碼來查看他們的區別。
package main
import "fmt"
type NewInt int
type MyInt = int
func main() {
var a NewInt
var b MyInt
fmt.Printf("type of a:%T\n",a)
fmt.Printf("type of b:%T\n",b)
}
結果:
type of a:main.NewInt
type of b:int
Process finished with exit code 0
結果顯示a的類型是main.NewInt,表示main包下定義的NewInt類型。
b類型是int。MyInt類型只會在代碼中存在,編譯完成時并不會有MyInt類型。
以上是“Go語言中類型別名和自定義類型的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。