亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

golang結構體轉map

發布時間:2020-07-25 08:14:47 來源:網絡 閱讀:6844 作者:dccw 欄目:編程語言
package main

import (
    "encoding/json"
    "fmt"
    "reflect"
    "time"
)

type Body struct {
    Person1 string
    Age     int
    Salary  float32
}

func Struct2Map(obj interface{}) (data map[string]interface{}, err error) {
    data = make(map[string]interface{})
    objT := reflect.TypeOf(obj)
    objV := reflect.ValueOf(obj)
    for i := 0; i < objT.NumField(); i++ {
        data[objT.Field(i).Name] = objV.Field(i).Interface()
    }
    err = nil
    return
}

func Test1() {
    t := time.Now()
    a := Body{"aaa", 2, 12.34}
    elem := reflect.ValueOf(&a).Elem()
    type_ := elem.Type()
    m := map[string]interface{}{}
    for i := 0; i < type_.NumField(); i++ {
        m[type_.Field(i).Name] = elem.Field(i).Interface()
    }
    fmt.Println(time.Now().Sub(t), m)
}

func Test2() {
    t := time.Now()
    persion := Body{"aaa", 2, 12.34}
    j, _ := json.Marshal(persion)
    fmt.Println(time.Now().Sub(t), string(j))
}

func Test3() {
    m := make(map[string]interface{})
    t := time.Now()
    persion := Body{"aaa", 2, 12.34}
    j, _ := json.Marshal(persion)
    json.Unmarshal(j, &m)
    fmt.Println(time.Now().Sub(t), m)
}

func Test4() {
    t := time.Now()
    persion := Body{"aaa", 2, 12.34}
    ret, _ := Struct2Map(persion)
    fmt.Println(time.Now().Sub(t), ret)
}

func main() {
    Test1()
    Test2()
    Test3()
    Test4()
}
package main

import (
    "fmt"
    "reflect"
    "time"
)

type User struct {
    Id        int64
    Username  string
    Password  string
    Logintime time.Time
}

func Struct2Map(obj interface{}) map[string]interface{} {
    t := reflect.TypeOf(obj)
    v := reflect.ValueOf(obj)

    var data = make(map[string]interface{})
    for i := 0; i < t.NumField(); i++ {
        data[t.Field(i).Name] = v.Field(i).Interface()
    }
    return data
}

func main() {
    user := User{5, "zhangsan", "pwd", time.Now()}
    data := Struct2Map(user)
    fmt.Println(data)
}
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

塘沽区| 永川市| 措美县| 定州市| 赤壁市| 绥中县| 清原| 筠连县| 大方县| 武冈市| 宁城县| 合阳县| 无棣县| 三穗县| 宿州市| 凌云县| 吉林省| 庆云县| 米林县| 女性| 呼玛县| 莲花县| 罗定市| 昌平区| 紫云| 镇坪县| 宁夏| 洛浦县| 寿阳县| 无锡市| 五大连池市| 沭阳县| 马鞍山市| 三穗县| 安阳县| 克东县| 台中县| 合江县| 武夷山市| 东乌珠穆沁旗| 东城区|