2014-09-02 98 views
2

如何打印一個結構類型的名稱,名稱也就是這樣我就可以將其打印語句,即像一個結構爲一個字符串

type MyStruct struct { ... } 

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

如果這是可能的話,它被認爲是一個緩慢的操作? (即反射)

+0

看起來像http://stackoverflow.com/q/20170275/6309 – VonC 2014-09-02 05:35:10

回答

7

例如,

package main 

import "fmt" 

type MyStruct struct{} 

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

輸出:

main.MyStruct 

fmt%T打印動詞給出值的類型的一個的Go-語法表示。

Go fmt包使用reflect包進行運行時反射。

相關問題