如果我有一個結(jié)構(gòu),我希望能夠使用(使用編碼/xml)對 xml 中的內(nèi)容進(jìn)行編組/解組 - 我如何不打印空屬性?package mainimport ( "encoding/xml" "fmt")type MyThing struct { XMLName xml.Name `xml:"body"` Name string `xml:"name,attr"` Street string `xml:"street,attr"`}func main() { var thing *MyThing = &MyThing{Name: "Canister"} result, _ := xml.Marshal(thing) fmt.Println(string(result))}例如見http://play.golang.org/p/K9zFsuL1Cw在上面的操場上,我不想寫出我的空街道屬性;我怎么能那樣做?
1 回答

慕容708150
TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個贊
omitempty在street場上使用標(biāo)志。
從Go XML 包:
如果字段值為空,則省略帶有包含“omitempty”選項(xiàng)的標(biāo)簽的字段??罩凳?false、0、任何 nil 指針或接口值,以及任何長度為零的數(shù)組、切片、映射或字符串。
如果是您的示例:
package main
import (
"encoding/xml"
"fmt"
)
type MyThing struct {
XMLName xml.Name `xml:"body"`
Name string `xml:"name,attr"`
Street string `xml:"street,attr,omitempty"`
}
func main() {
var thing *MyThing = &MyThing{Name: "Canister"}
result, _ := xml.Marshal(thing)
fmt.Println(string(result))
}
- 1 回答
- 0 關(guān)注
- 369 瀏覽
添加回答
舉報
0/150
提交
取消