将Go结构转换为字符串

时间:2015-03-04 19:44:50

标签: 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变量中附加所有已解析的数据,以便在localhost上构建一个漂亮的视图。但是s.Link无法转换为字符串数据类型,因为类型转换只支持基本数据类型,Any Solutions?

现场演示:http://play.golang.org/p/7HRHusXLe2

1 个答案:

答案 0 :(得分:2)

在您的情况下,您不想附加结构string的{​​{1}}表示,您只需要Link字段已经是{{1}类型的字段}。

Href

另请注意,如果使用非指针接收器string,则方法func (s Entry) LinkString() string { return s.Link.Href } 将收到结构的副本。在这种情况下,这不是问题,因为必须制作副本,所以速度要慢一点。

如果你的结构越来越大,使用指针接收器会更好:Entry

LinkString()

另请注意,您甚至不需要一种方法来访问网址文字,因为您的字段(*Entryfunc (s *Entry) LinkString() string { return s.Link.Href } )已导出,因为它们以大写字母开头,因此你可以这样简单地引用它:

Entry.Link