gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 21:13:36 25 4
gpt4 key购买 nike

如何在Golang中打印(在控制台中)此结构的IdTitleName等?

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 package:

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

假设您有一个Project实例(在 yourProject中)

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

Go by example page提供了另一种技术:
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"]}

如果您没有任何实例,则需要 use reflection 来显示给定结构 as in this example的字段名称。
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())
}

关于struct - 如何在控制台中打印结构变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62036649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com