如何打印(在控制台)Id,Title,Name等这个结构中Golang的?
Id
Title
Name
type Project struct { Id int64 `json:"project_id"` Title string `json:"title"` Name string `json:"name"` Data Data `json:"data"` Commits Commits `json:"commits"` }
要在结构中打印字段名称:
fmt.Printf("%+v\n", yourProject)
从fmt包装中:
fmt
打印结构时,加号(%+v)添加字段名称
%+v
假设您有一个Project的实例(在’ yourProject‘中)
yourProject
文章JSON和Go将提供有关如何从JSON结构中检索值的更多详细信息。
此“按示例进行搜索”页面提供了另一种技术:
type Response2 struct { Page int `json:"page"` Fruits []string `json:"fruits"` } res2D := &Response2{ Page: 1, Fruits: []string{"apple", "peach", "pear"}} res2B, _ := json.Marshal(res2D) fmt.Println(string(res2B))
那会打印:
{"page":1,"fruits":["apple","peach","pear"]}
如果没有任何实例,则需要 使用反射 来显示给定结构的字段名称,如本例所示。
type T struct { A int B string } t := T{23, "skidoo"} s := reflect.ValueOf(&t).Elem() typeOfT := s.Type() for i := 0; i < s.NumField(); i++ { f := s.Field(i) fmt.Printf("%d: %s %s = %v\n", i, typeOfT.Field(i).Name, f.Type(), f.Interface()) }