go語言通過反射獲取和設置結構體字段值的方法


本文實例講述了go語言通過反射獲取和設置結構體字段值的方法。分享給大家供大家參考。具體實現方法如下:

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

// set
mutable := reflect.ValueOf(&n).Elem()
mutable.FieldByName("N").SetInt(7)
fmt.Printf("N=%d\n", 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)

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM