go 反射應用

2022-10-09 05:51:11 字數 959 閱讀 1047

package main

import (

"fmt"

"encoding/json"

)type monster struct

func main()

data, _ := json.marshal(m)

fmt.println("json result:", string(data))

}

**輸出結果: **

json result:

思考問題:

為什麼序列化後,key-val 的key值是結構體tag的值,而不是欄位的名稱,比如:不是name而是:"monstername":"玉兔精"

引出反射:(note:學習reflect後,回頭來解決)

go官網文件

go 反射應用

直接上 package main import fmt reflect type envkey struct func main 反射 s reflect.valueof t elem typeoft s.type 迴圈遍歷結構體,獲取各個元素的型別,值 for i 0 i s.numfield i...

Go中反射(reflect)的應用

package main import fmt reflect type monster struct 顯示s的值 func s monster print 返回兩個數的和 func s monster getsum n1,n2 int int 設定s結構體的在 func s monster set...

Go反射程式設計

reflect.typeof vs.reflect.valueof func checktype v inte ce func testbasictype t testing.t 利用反射編寫靈活的 type employee struct func e employee updateage new...