本文實例講述了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)