为了账号安全,请及时绑定邮箱和手机立即绑定

打印结构类型而不创建其实例

打印结构类型而不创建其实例

Go
守着星空守着你 2021-08-16 15:19:55
在 Go 中,我可以打印一种结构,fmt.Printf("%T",Struct{})但是这会创建一个新结构并因此占用内存。所以我可能只是 print fmt.Printf("main.Struct"),但是假设有人重构了 的名称Struct,那么 print 语句不会更新并且代码中断。如何在不创建实例的情况下打印结构类型?
查看完整描述

2 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

解决方案之一是使用包reflect

fmt.Printf("%v", reflect.TypeOf((*Struct)(nil)).Elem())

它不会创建任何结构实例。它会打印main.Struct


查看完整回答
反对 回复 2021-08-16
  • 2 回答
  • 0 关注
  • 176 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信