在Go语言中,有没有一个函数可以打印对象的所有当前成员名称和值?

huangapple go评论94阅读模式
英文:

Is there a function in Go to print all the current member names and values of an object?

问题

我正在寻找类似于PHP的print_r或Python的__dict__的功能。有人知道是否存在这样的函数,还是需要自己实现?

英文:

I'm looking for something like PHP's print_r or python's dict. Anybody know if this function exists, or its something that needs to be implemented?

答案1

得分: 4

在Go语言中有一个reflect包。
你可以在以下的文章中找到解决你问题的方法。

英文:

There is a reflect package in go.
You can find solution to your problem in the following article.

答案2

得分: 3

对于打印原生的go对象,比如maps、slices和arrays,你可以尝试使用:

fmt.Printf("%v", object)

然而,对于用户自定义的结构体类型,目前还没有通用的方法来实现。

英文:

For printing native go objects, like maps, slices, and arrays, you can try:

fmt.Printf("%v", object)

However there isn't a general method to do it with user-defined struct types..

答案3

得分: 2

尝试使用以下代码:

fmt.Printf("%+v", object)

这可能会给你一个类似你想要的结果的东西。

英文:

Try

fmt.Printf("%+v", object)

That might give you something resembling what you want.

答案4

得分: 1

你可以尝试使用dump包,它类似于PHP的print_rvar_dump

这里是源代码主项目页面在这里

然后只需调用dump.Dump(yourObject)dump.Fdump(file, yourObject)

英文:

You can try using the package dump, which acts similar to PHP's print_r or var_dump.

The sources are here and the main project page is here.

Then just call dump.Dump(yourObject) or dump.Fdump(file, yourObject)

huangapple
  • 本文由 发表于 2010年1月5日 07:01:38
  • 转载请务必保留本文链接:https://go.coder-hub.com/2002908.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定