golang如何獲得一個變量的類型
直接使用reflect的TypeOf方法就可以了
fmt.Println(reflect.TypeOf(var))
補充:golang 獲取變量類型的三種方式
Using string formatting
func typeof(v interface{}) string { return fmt.Sprintf("%T", v) }
Using reflect package
func typeof(v interface{}) string { return reflect.TypeOf(v).String() }
Using type assertions
func typeof(v interface{}) string { switch v.(type) { case int: return "int" case float64: return "float64" //... etc default: return "unknown" } }
補充:golang 獲取變量類型的字符串格式 列舉變量類型
fmt.Println(reflect.TypeOf(var)) switch xxx.(type){ case int:.... case float32:... case float64:... case string:... }
對type的枚舉,不能使用fallthrough,且float32和float64是兩個不同的類型(沒有單獨的float類型),而int卻包含int64
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Go strconv包實現(xiàn)字符串和基本數(shù)據(jù)類型轉(zhuǎn)換的實例詳解
在Go語言(Golang)的編程實踐中,strconv包是一個非常重要的標準庫,它提供了在基本數(shù)據(jù)類型(如整型、浮點型、布爾型)和字符串之間的轉(zhuǎn)換功能,本文給大家介紹了關(guān)于Go語言字符串轉(zhuǎn)換strconv,需要的朋友可以參考下2024-09-09Golang標準庫syscall詳解(什么是系統(tǒng)調(diào)用)
最近在研究go語言,發(fā)現(xiàn)go語言系統(tǒng)調(diào)用源碼只有調(diào)用函數(shù)的定義,今天通過本文給大家分享Golang標準庫syscall詳解及什么是系統(tǒng)調(diào)用,感興趣的朋友一起看看吧2021-05-05Golang實現(xiàn)不被復(fù)制的結(jié)構(gòu)體的方法
sync包中的許多結(jié)構(gòu)都是不允許拷貝的,因為它們自身存儲了一些狀態(tài)(比如等待者的數(shù)量),如果你嘗試復(fù)制這些結(jié)構(gòu)體,就會在你的?IDE中看到警告,那這是怎么實現(xiàn)的呢,下文就來和大家詳細講講2023-03-03Golang中實現(xiàn)簡單的Http Middleware
本文主要針對Golang的內(nèi)置庫 net/http 做了簡單的擴展,實現(xiàn)簡單的Http Middleware,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-07-07