zoukankan      html  css  js  c++  java
  • go语言通过反射获取和设置结构体字段值的方法

    本文实例讲述了go语言通过反射获取和设置结构体字段值的方法。分享给大家供大家参考。具体实现方法如下:

    type MyStruct struct {
            N int
    }
    n := MyStruct{ 1 }
    // get
    immutable := reflect.ValueOf(n)
    val := immutable.FieldByName("N").Int()
    fmt.Printf("N=%d
    ", val) // prints 1
    
    // set
    mutable := reflect.ValueOf(&n).Elem()
    mutable.FieldByName("N").SetInt(7)
    fmt.Printf("N=%d
    ", n.N) // prints 7
    

    如果是interface{}转map[string]interface{} 可以直接转

    User.(map[string]interface{})["username"]
    

    其实值类型的转换如下

     var a interface{}
        var b string
        a = "asdasdasdasd"
        b = a.(string)
        fmt.Println(a, b)
    

      

  • 相关阅读:
    C++课程的第一次实验
    First C++
    7-12 关于堆的判断
    大笨钟
    7-14 喊山
    L3-010 是否完全二叉搜索树 (30分)
    7-13 天梯地图
    7-10 排座位
    7-9 抢红包
    帅到没朋友
  • 原文地址:https://www.cnblogs.com/dfsxh/p/10243494.html
Copyright © 2011-2022 走看看