淺談go語(yǔ)言中別名類型的使用
什么是別名類型
我們可以用關(guān)鍵字 type 聲明自定義的各種類型,類似:
type People struct {
name string
age int
}
當(dāng)然了,這些類型必須在 Go 語(yǔ)言基本類型和高級(jí)類型的范疇之內(nèi)。
在它們當(dāng)中,有一種被叫做 ”別名類型” 的類型。我們可以像下面這樣聲明它:
type stringAlias = string
這條聲明語(yǔ)句表示,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é)果來(lái)看,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
我們可以從輸出看出來(lái),這里的 stringAlias1 和 string 是完全兩種類型。這種我們叫類型的重定義。
到此這篇關(guān)于淺談go語(yǔ)言中別名類型的使用的文章就介紹到這了,更多相關(guān)go 別名類型內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Go和Gorm實(shí)現(xiàn)讀取SQLCipher加密數(shù)據(jù)庫(kù)
本文檔主要描述通過(guò)Go和Gorm實(shí)現(xiàn)生成和讀取SQLCipher加密數(shù)據(jù)庫(kù)以及其中踩的一些坑,文章通過(guò)代碼示例講解的非常詳細(xì), 對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-06-06
Go語(yǔ)言在終端打開實(shí)現(xiàn)進(jìn)度條處理數(shù)據(jù)方法實(shí)例
這篇文章主要介紹了Go語(yǔ)言在終端打開實(shí)現(xiàn)進(jìn)度條處理數(shù)據(jù)方法實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
Go-Web框架中AOP方案的實(shí)現(xiàn)方式
本文主要介紹了Go-Web框架中AOP方案的實(shí)現(xiàn)方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
Go語(yǔ)言中的日期與時(shí)間用法詳細(xì)介紹
Go語(yǔ)言提供了豐富的日期與時(shí)間處理函數(shù),涵蓋了從獲取當(dāng)前時(shí)間到格式化、時(shí)區(qū)轉(zhuǎn)換、定時(shí)器和計(jì)時(shí)器的功能,這篇文章主要給大家介紹了關(guān)于Go語(yǔ)言中日期與時(shí)間用法的相關(guān)資料,需要的朋友可以參考下2024-06-06
go語(yǔ)言csrf庫(kù)使用實(shí)現(xiàn)原理示例解析
這篇文章主要為大家介紹了go語(yǔ)言csrf庫(kù)使用實(shí)現(xiàn)原理示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10

