zoukankan      html  css  js  c++  java
  • Golang中interface类型转string类型

    // Strval 获取变量的字符串值
    // 浮点型 3.0将会转换成字符串3, "3"
    // 非数值或字符类型的变量将会被转换成JSON格式字符串
    func Strval(value interface{}) string {
        var key string
        if value == nil {
            return key
        }
    
        switch value.(type) {
        case float64:
            ft := value.(float64)
            key = strconv.FormatFloat(ft, 'f', -1, 64)
        case float32:
            ft := value.(float32)
            key = strconv.FormatFloat(float64(ft), 'f', -1, 64)
        case int:
            it := value.(int)
            key = strconv.Itoa(it)
        case uint:
            it := value.(uint)
            key = strconv.Itoa(int(it))
        case int8:
            it := value.(int8)
            key = strconv.Itoa(int(it))
        case uint8:
            it := value.(uint8)
            key = strconv.Itoa(int(it))
        case int16:
            it := value.(int16)
            key = strconv.Itoa(int(it))
        case uint16:
            it := value.(uint16)
            key = strconv.Itoa(int(it))
        case int32:
            it := value.(int32)
            key = strconv.Itoa(int(it))
        case uint32:
            it := value.(uint32)
            key = strconv.Itoa(int(it))
        case int64:
            it := value.(int64)
            key = strconv.FormatInt(it, 10)
        case uint64:
            it := value.(uint64)
            key = strconv.FormatUint(it, 10)
        case string:
            key = value.(string)
        case []byte:
            key = string(value.([]byte))
        default:
            newValue, _ := json.Marshal(value)
            key = string(newValue)
        }
    
        return key
    }
  • 相关阅读:
    (字符串)子串变位词
    反转链表 II
    翻转链表
    覆盖索引
    MySQL索引结构之Hash索引、full-text全文索引(面)
    MySQL索引结构之B+树索引(面)
    MYSQL 存储引擎(面)
    MySQL架构(面)
    如何在Linux Mint 20系统上安装Pip
    如何在CentOS 8系统服务器上安装Nginx
  • 原文地址:https://www.cnblogs.com/rxbook/p/15167502.html
Copyright © 2011-2022 走看看