1. package main
    2. import (
    3. "fmt"
    4. "reflect"
    5. )
    6. type resume struct {
    7. Name string `json:"name" doc:"我的名字"`
    8. }
    9. func findDoc(stru interface{}) map[string]string {
    10. t := reflect.TypeOf(stru).Elem()
    11. doc := make(map[string]string)
    12. for i := 0; i < t.NumField(); i++ {
    13. doc[t.Field(i).Tag.Get("json")] = t.Field(i).Tag.Get("doc")
    14. }
    15. return doc
    16. }
    17. func main() {
    18. var stru resume
    19. doc := findDoc(&stru)
    20. fmt.Printf("name字段为:%s\n", doc["name"])
    21. }