Xml 将Go结构转换为字符串
我的代码:Xml 将Go结构转换为字符串,xml,struct,go,Xml,Struct,Go,我的代码: type Link struct { Href string `xml:"href,attr"` } var html Link = "" func (s Entry) String() string { links := string(s.Link) } 我解析了整个XML文档以获得链接和文本,现在我想将所有解析的数据附加到html变量中,以在本地主机上构建一个漂亮的视图。但是s.Link无法转换为字符串数据类型,可能是因为类型转换只支持基本数据类型,有解决方案吗
type Link struct {
Href string `xml:"href,attr"`
}
var html Link = ""
func (s Entry) String() string {
links := string(s.Link)
}
我解析了整个XML文档以获得链接和文本,现在我想将所有解析的数据附加到html
变量中,以在本地主机上构建一个漂亮的视图。但是s.Link
无法转换为字符串数据类型,可能是因为类型转换只支持基本数据类型,有解决方案吗
现场演示:在您的情况下,您不想附加结构
链接的字符串表示,您只需要它的Href
字段,该字段已经是字符串
类型
func (s Entry) LinkString() string {
return s.Link.Href
}
还请注意,如果使用非指针接收器条目
,则方法LinkString()
将接收结构的副本。在这种情况下,这不是问题,只是有点慢,因为必须复制
如果结构变得更大,最好使用指针接收器:*Entry
:
func (s *Entry) LinkString() string {
return s.Link.Href
}
还要注意的是,您甚至不需要方法来访问URL文本,因为您的字段(Entry.Link
和Link.Href
)是导出的,因为它们以大写字母开头,所以您可以这样简单地引用它:
// e is of type Entry:
url := e.Link.Href
// url is of type string
你的问题很令人困惑。您只是在问如何将链接
结构打印为字符串吗?你看过fmt
包了吗?我知道如何将struct打印为string,但我想转换它,这样我就可以将它们全部附加到html变量中来构造一个视图