刚学 Go 不久, 利用 Go 的反射写了个打印结构体的小项目,不知道有没有前辈能够指点一二

2021-12-31 13:19:12 +08:00
 szyp

看我之前的发帖,我个人是比较喜欢搞这种结构化输出的小把戏😂

+----------+--------------------+---------------------------+
|ROOT      |KEY                 |VALUE                      |
+----------+--------------------+---------------------------+
|          |Name                |xxx                        |
|          |Age                 |18                         |
|          |Address             |xxx                        |
+----------+--------------------+---------------------------+

可以将结构体打印成一个小表格,主要是为了 log 好看,本来使用 gist 就可以了,但是 Go 的库管理还挺方便,就建了个项目

Github 上已经有类似的 table 库可以做这种事情,但是我觉得太大了,hhh 就自己写了一个练练手

Demo https://github.com/runningzyp/GoStruct2Table

2748 次点击
所在节点    Go 编程语言
5 条回复
duanquanyong
2021-12-31 13:30:42 +08:00
你的超级链接点击会跳到本贴地址
szyp
2021-12-31 13:48:07 +08:00
@duanquanyong 我找不到附言了 hhh 地址在这里 https://github.com/runningzyp/GoStruct2Table
SSang
2021-12-31 14:34:19 +08:00
还行吧,看你只写了 string/int 这些很简单的,struct ,slice ,map 都不支持

go 的反射项目可以参考一下 jinzhu/configor ,学一学怎么用递归。

然后 table 你自己的实现漏洞也很多,而且实现方式也不够优雅,rodaine/table 这个项目可以参考。
szyp
2021-12-31 15:05:33 +08:00
@SSang #3 芜湖,竟然回复了这么多,感谢指导,我去看看,感谢感谢
encro
2021-12-31 17:02:42 +08:00
这时候不经意就想起了,rust:

println("{:#?}",any);

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/825482

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX