英文:
Name of a struct to a string
问题
如何打印结构体类型的名称,以便我可以在打印语句中使用,类似于:
type MyStruct struct { ... }
func main() {
fmt.Println(MyStruct.className())
}
如果可能的话,这是否被认为是一个慢操作?(即反射)
英文:
How do I print the name of the type of a struct, i.e. so I can include it in a print statement, i.e. something like
type MyStruct struct { ... }
func main() {
fmt.Println(MyStruct.className())
}
If this is possible, would it be considered a slow operation? (i.e. reflection)
答案1
得分: 9
例如,
package main
import "fmt"
type MyStruct struct{}
func main() {
fmt.Printf("%T\n", MyStruct{})
}
输出:
main.MyStruct
fmt
%T
打印动词可以给出值的Go语法表示的类型。
Go的fmt
包使用reflect
包进行运行时反射。
英文:
For example,
package main
import "fmt"
type MyStruct struct{}
func main() {
fmt.Printf("%T\n", MyStruct{})
}
Output:
main.MyStruct
The fmt
%T
print verb gives a Go-syntax representation of the type of the value.
The Go fmt
package uses the reflect
package for run-time reflection.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论