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

Golang – 如何在控制台中打印结构变量?,第1张

概述如何在Golang中打印(在控制台中)此结构的Id,标题,名称等等? type Project struct { Id int64 `json:"project_id"` Title string `json:"title"` Name string `json:"name"` Data Data `json:"data"` Commits Commits 如何在Golang中打印(在控制台中)此结构的ID,标题,名称等等?
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:

when printing structs,the plus flag (%+v) adds fIEld names

假设你有一个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","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())}
总结

以上是内存溢出为你收集整理的Golang – 如何在控制台中打印结构变量?全部内容,希望文章能够帮你解决Golang – 如何在控制台中打印结构变量?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1276968.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存