2
與this question類似,但不完全相同。Golang:打印出現在源代碼中的結構
我正在做一些代碼生成,在Go中製作.go文件。我有一個結構,我想生成它的文本表示,以便我可以將它作爲文字插入到生成的代碼中。
所以,如果我有myVal := SomeStruct{foo : 1, bar : 2}
,我想要得到字符串"SomeStruct{foo : 1, bar : 2}"
。
Go可能嗎?
與this question類似,但不完全相同。Golang:打印出現在源代碼中的結構
我正在做一些代碼生成,在Go中製作.go文件。我有一個結構,我想生成它的文本表示,以便我可以將它作爲文字插入到生成的代碼中。
所以,如果我有myVal := SomeStruct{foo : 1, bar : 2}
,我想要得到字符串"SomeStruct{foo : 1, bar : 2}"
。
Go可能嗎?
從fmt
包:
%#v a Go-syntax representation of the value
這是因爲接近你可以配備內置格式化,從輸出中去除包標識符(main.
在此實例中)之後。
type T struct {
A string
B []byte
}
fmt.Printf("%#v\n", &T{A: "hello", B: []byte("world")})
// out
// &main.T{A:"hello", B:[]uint8{0x77, 0x6f, 0x72, 0x6c, 0x64}}
我想這一點,但是當我有'Foo類型string'和'{場:美孚( 「酒吧」)}',它只是打印這'{場「酒吧「}'。任何解決方法? – jmite
@jmite:struct中的field是什麼類型的? – JimB
它的類型'Foo' – jmite