猿问

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

在 Go 中,我可以打印一种结构,fmt.Printf("%T",Struct{})但是这会创建一个新结构并因此占用内存。所以我可能只是 print fmt.Printf("main.Struct"),但是假设有人重构了 的名称Struct,那么 print 语句不会更新并且代码中断。

如何在不创建实例的情况下打印结构类型?


守着星空守着你
浏览 177回答 2
2回答

绝地无双

解决方案之一是使用包reflect:fmt.Printf("%v", reflect.TypeOf((*Struct)(nil)).Elem())它不会创建任何结构实例。它会打印main.Struct。
随时随地看视频慕课网APP

相关分类

Go
我要回答