go中any類型的使用詳解
前言
在沒有any類型之前,go語言中,我們經(jīng)常使用interface{},來表示一個類型是未知的,或者有好幾種其他基礎(chǔ)類型的情況,但在go1.18
版本之后,新增了any
類型,用來代替interface{}
any使用
go使用any
使用
package main import "fmt" func say(data any) { switch data.(type) { case int: fmt.Println("int") case string: fmt.Println("string") } } func main() { say(123) }
輸出結(jié)果為
any轉(zhuǎn)換為類型
package main import "fmt" func say(data any) { switch data.(type) { case int: b := data.(int) + 1 fmt.Println(b) case string: fmt.Println("string") } } func main() { say(123) }
輸出結(jié)果為
any用在map
package main import "fmt" func main() { m := make(map[string]any) m["a"] = 1 m["b"] = "aaa" for k, v := range m { fmt.Println(k, v) a, b := v.(int) fmt.Println(a, b) } }
輸出結(jié)果為
總結(jié)
在go1.18之后,any
關(guān)鍵字可以作為開發(fā)使用,不過看個人
到此這篇關(guān)于go中any類型的使用詳解的文章就介紹到這了,更多相關(guān)go any類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Go?數(shù)據(jù)結(jié)構(gòu)之二叉樹詳情
這篇文章主要介紹了?Go?數(shù)據(jù)結(jié)構(gòu)之二叉樹詳情,二叉樹是一種數(shù)據(jù)結(jié)構(gòu),在每個節(jié)點(diǎn)下面最多存在兩個其他節(jié)點(diǎn)。即一個節(jié)點(diǎn)要么連接至一個、兩個節(jié)點(diǎn)或不連接其他節(jié)點(diǎn),下文基于GO語言展開二叉樹結(jié)構(gòu)詳情,需要的朋友可以參考一下2022-05-05golang rate令牌桶源碼分析實(shí)現(xiàn)方式
這篇文章主要介紹了golang rate令牌桶源碼分析實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07golang如何用type-switch判斷interface變量的實(shí)際存儲類型
這篇文章主要介紹了golang如何用type-switch判斷interface變量的實(shí)際存儲類型,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04