淺談go語言中別名類型的使用
什么是別名類型
我們可以用關(guān)鍵字 type 聲明自定義的各種類型,類似:
type People struct { name string age int }
當(dāng)然了,這些類型必須在 Go 語言基本類型和高級(jí)類型的范疇之內(nèi)。
在它們當(dāng)中,有一種被叫做 ”別名類型” 的類型。我們可以像下面這樣聲明它:
type stringAlias = string
這條聲明語句表示,stringAlias 是 string 類型的別名類型。顧名思義,別名類型與其源類型的區(qū)別恐怕只是在名稱上,它們是完全相同的。我們完全可以使用以下代碼測(cè)試:
func func10() { var s1 stringAlias = "2" v, ok := interface{}(s1).(string) fmt.Println(ok) fmt.Println(v) fmt.Println(reflect.TypeOf(s1)) }
output:
true
2
string
從代碼結(jié)果來看,stringAlias 以及 string 實(shí)際上就是同一種類型。
延伸
如果我們這么定義呢?
type stringAlias1 string
還是使用上面的例子進(jìn)行測(cè)試:
func func11() { var s1 stringAlias1 = "2" v, ok := interface{}(s1).(string) fmt.Println(ok) fmt.Println(v) fmt.Println(reflect.TypeOf(s1)) }
output:
false
main.stringAlias1
我們可以從輸出看出來,這里的 stringAlias1 和 string 是完全兩種類型。這種我們叫類型的重定義。
到此這篇關(guān)于淺談go語言中別名類型的使用的文章就介紹到這了,更多相關(guān)go 別名類型內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Go和Gorm實(shí)現(xiàn)讀取SQLCipher加密數(shù)據(jù)庫
本文檔主要描述通過Go和Gorm實(shí)現(xiàn)生成和讀取SQLCipher加密數(shù)據(jù)庫以及其中踩的一些坑,文章通過代碼示例講解的非常詳細(xì), 對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-06-06Go語言在終端打開實(shí)現(xiàn)進(jìn)度條處理數(shù)據(jù)方法實(shí)例
這篇文章主要介紹了Go語言在終端打開實(shí)現(xiàn)進(jìn)度條處理數(shù)據(jù)方法實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12Go-Web框架中AOP方案的實(shí)現(xiàn)方式
本文主要介紹了Go-Web框架中AOP方案的實(shí)現(xiàn)方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06go語言csrf庫使用實(shí)現(xiàn)原理示例解析
這篇文章主要為大家介紹了go語言csrf庫使用實(shí)現(xiàn)原理示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10