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

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

PHPz
發布: 2024-02-09 18:00:10
轉載
740 人瀏覽過

检查变量是否为 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
登入後複製

如果您願意,您可以將這些案例合併為一個案例,例如//m.sbmmt.com/link/658953f1f681915f543a40eef9acb562

#

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

來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板