首頁 >後端開發 >Golang >檢查變數是否為 string/int/float?

檢查變數是否為 string/int/float?

PHPz
PHPz轉載
2024-02-09 18:00:10713瀏覽

检查变量是否为 string/int/float?

php小編小新為您介紹如何檢查變數是否為字串、整數或浮點數。在PHP中,我們可以使用一些內建函數來實現這個目的。首先,使用is_string()函數可以檢查一個變數是否為字串類型。如果傳回true,則表示該變數是字串類型。接下來,使用is_int()函數可以檢查一個變數是否為整數型別。同樣地,如果傳回true,則表示該變數是整數類型。最後,使用is_float()函數可以檢查一個變數是否為浮點數類型。同樣地,如果傳回true,則表示該變數是浮點數類型。透過使用這些函數,我們可以輕鬆地檢查變數的類型,並根據需要執行相應的操作。

問題內容

得到這種類型的map[string]interface{} 因為我想允許同時包含stringsintegers 的地圖

但是如何將地圖轉換為 map[string]string 並在任何值「不支援」時傳回錯誤?

value, ok := v.(string)

如果該值為整數,則會拋出錯誤

解決方法

Go 支援類型開關

對於您的用例,它看起來像:

m := map[string]string{}
for k,v := range values {
    switch value := v.(type) {
        switch value := v.(type) {
        case int:
            m[k] = fmt.Sprintf("%v", value)

        case float64:
            m[k] = fmt.Sprintf("%v", value)

        case string:
            m[k] = fmt.Sprintf("%v", value)

       default:
            return nil,fmt.Errorf("unknown type %T", v)
    }
}

return m,nil

如果您願意,您可以將這些案例合併為一個案例,例如https://www.php.cn/link/658953f1f681915f543a40eef9acb562

#

以上是檢查變數是否為 string/int/float?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除