字符串结构的名称

时间:2014-09-02 04:44:44

标签: go

如何打印结构类型的名称,即我可以将其包含在打印语句中,例如

type MyStruct struct { ... }

func main() {
    fmt.Println(MyStruct.className())
}

如果可以的话,是否会被认为是缓慢的操作? (即反思)

1 个答案:

答案 0 :(得分:9)

例如,

package main

import "fmt"

type MyStruct struct{}

func main() {
    fmt.Printf("%T\n", MyStruct{})
}

输出:

main.MyStruct

fmt %T打印动词提供了值类型的Go语法表示。

Go fmt包使用reflect包进行运行时反射。