编辑:
在我添加了一小部分我正在使用的文件(7 GB)并尝试运行该程序后,我可以看到:
fatal error: all goroutines are asleep - deadlock!
goroutine 1 [chan receive]:
main.main()
/media/developer/golang/manual/examples/sp/v2/sp.v2.go:71 +0x4a9
exit status 2
情况:
我是 GO 的新手,所以如果我的问题真的很简单,我很抱歉。
我正在尝试流式传输xml文件、拆分文档,然后在不同的 GO 例程中解析它们。
我正在使用的 XML 文件示例:
<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="CGImap 0.0.2">
<relation id="56688" user="kmvar" uid="56190" visible="true" version="28" changeset="6947637" timestamp="2011-01-12T14:23:49Z">
<member type="node" ref="294942404" role=""/>
<member type="node" ref="364933006" role=""/>
<tag k="name" v="Küstenbus Linie 123"/>
<tag k="network" v="VVW"/>
<tag k="route" v="bus"/>
<tag k="type" v="route"/>
</relation>
<relation id="98367" user="jdifh" uid="92834" visible="true" version="28" changeset="6947637" timestamp="2011-01-12T14:23:49Z">
<member type="node" ref="294942404" role=""/>
<member type="way" ref="4579143" role=""/>
<member type="node" ref="249673494" role=""/>
<tag k="name" v="Küstenbus Linie 123"/>
<tag k="network" v="VVW"/>
<tag k="operator" v="Regionalverkehr Küste"/>
<tag k="ref" v="123"/>
</relation>
<relation id="72947" user="schsu" uid="92374" visible="true" version="28" changeset="6947637" timestamp="2011-01-12T14:23:49Z">
<member type="node" ref="294942404" role=""/>
<tag k="name" v="Küstenbus Linie 123"/>
<tag k="type" v="route"/>
</relation>
</osm>
它应该打印每个结构,但我什么也没看到。该程序只是挂起。
我测试了 streamer 和 splitter(只是在将消息发送到通道之前添加fmt.Println(rs)
到函数parseRelation中)。我可以看到结构。因此,问题在于发送和接收消息。
我不知道如何解决这个问题。尝试更改频道中消息的类型(从RS
到string
)并且每次只发送一个字符串。但它也没有帮助(我什么也看不到)
呼唤远方
芜湖不芜
相关分类