如何在控制台中打印结构变量?


狗头军师
2025-03-11 03:19:06 (15天前)

如何打印(在控制台)Id,Title,Name等这个结构中Golang的?

  1. type Project struct {
  2. Id int64 `json:"project_id"`
  3. Title string `json:"title"`
  4. Name string `json:"name"`
  5. Data Data `json:"data"`
  6. Commits Commits `json:"commits"`
  7. }
2 条回复
  1. 1# v-star*위위 | 2020-07-27 17-47

    要在结构中打印字段名称:

    fmt.Printf(“%+v\n”, yourProject)
    从fmt包装中:

    打印结构时,加号(%+v)添加字段名称

    假设您有一个Project实例(位于“ yourProject”中)

    文章JSON和Go将提供有关如何从JSON结构中检索值的更多详细信息。

    此“按示例进行搜索”页面提供了另一种技术:

    1. type Response2 struct {
    2. Page int `json:"page"`
    3. Fruits []string `json:"fruits"`
    4. }
    5. res2D := &Response2{
    6. Page: 1,
    7. Fruits: []string{"apple", "peach", "pear"}}
    8. res2B, _ := json.Marshal(res2D)
    9. fmt.Println(string(res2B))

    那会打印:

    1. {"page":1,"fruits":["apple","peach","pear"]}
    2. 如果没有任何实例,则需要使用反射来显示给定结构的字段名称,如本例所示。
    3. type T struct {
    4. A int
    5. B string
    6. }
    7. t := T{23, "skidoo"}
    8. s := reflect.ValueOf(&t).Elem()
    9. typeOfT := s.Type()
    10. for i := 0; i < s.NumField(); i++ {
    11. f := s.Field(i)
    12. fmt.Printf("%d: %s %s = %v\n", i,
    13. typeOfT.Field(i).Name, f.Type(), f.Interface())
    14. }
登录 后才能参与评论