我目前正在玩Go,想知道定义数据类型的模式是什么。以Bencode为例并将其表示为Go数据结构。likeinHaskelldataBEncode=BIntInteger|BStringL.ByteString|BList[BEncode]|BDict(MapStringBEncode)inC,wecandosomethinglikethisstructBencoding;typedefstructListNode{structBencoding*cargo;structListNode*next;}ListNode;typedefstructDictNode{char*key;stru
我正在联系的服务器是用python编写的,除了bencoded列表。在我现有的python客户端代码中,我执行如下操作:>>>importbencode>>>data=[4456,'Rakesh',27]>>>bdata=bencode.bencode(data)>>>bdata'li4456e6:Rakeshi27ee'服务器通过以下方式取回列表:>>>bencode.bdecode(bdata)[4456,'Rakesh',27]我如何在golang中实现客户端部分?我知道已经编写了bencode包,但这里的技巧是如何通过提供一系列“不同数据类型”的元素来到达golang中的“li
我正在联系的服务器是用python编写的,除了bencoded列表。在我现有的python客户端代码中,我执行如下操作:>>>importbencode>>>data=[4456,'Rakesh',27]>>>bdata=bencode.bencode(data)>>>bdata'li4456e6:Rakeshi27ee'服务器通过以下方式取回列表:>>>bencode.bdecode(bdata)[4456,'Rakesh',27]我如何在golang中实现客户端部分?我知道已经编写了bencode包,但这里的技巧是如何通过提供一系列“不同数据类型”的元素来到达golang中的“li
好吧,我遇到了一个奇怪的问题,我不确定如何解释...基本上我正在尝试解码一个bencode文件(.torrent文件),现在我已经尝试了4或5个不同的我通过谷歌和S.O.找到的脚本没有运气(在字典中得到这样的返回或从相同的输出错误)现在我正在这样下载.torrent文件wgethttp://link_to.torrentfile//andhavealsotriedwithcurllikesocurl-C--Ohttp://link_to.torrent我的结论是,当我以这种方式下载时,文件发生了一些变化。这样做的原因是我发现这个网站willdecodea.torrentfileyouu
好吧,我遇到了一个奇怪的问题,我不确定如何解释...基本上我正在尝试解码一个bencode文件(.torrent文件),现在我已经尝试了4或5个不同的我通过谷歌和S.O.找到的脚本没有运气(在字典中得到这样的返回或从相同的输出错误)现在我正在这样下载.torrent文件wgethttp://link_to.torrentfile//andhavealsotriedwithcurllikesocurl-C--Ohttp://link_to.torrent我的结论是,当我以这种方式下载时,文件发生了一些变化。这样做的原因是我发现这个网站willdecodea.torrentfileyouu
我觉得这应该是一个小问题,但我已经尝试了所有我能想到的模式,但我没有任何运气。我的结构需要encoding/json和github.com/zeebo/bencode都可以编码包。它恰好包含一个channel,该channel不能被任何一个包编码。因此,它需要携带标签“-”,以便跳过该字段。typeIndexstruct{DatadataQueuechanstring`json:"-"`}这在使用json包编码时有效,但使用bencode包时失败。typeIndexstruct{DatadataQueuechanstring`bencode:"-"`}当然,这个block有互补的问题。
我觉得这应该是一个小问题,但我已经尝试了所有我能想到的模式,但我没有任何运气。我的结构需要encoding/json和github.com/zeebo/bencode都可以编码包。它恰好包含一个channel,该channel不能被任何一个包编码。因此,它需要携带标签“-”,以便跳过该字段。typeIndexstruct{DatadataQueuechanstring`json:"-"`}这在使用json包编码时有效,但使用bencode包时失败。typeIndexstruct{DatadataQueuechanstring`bencode:"-"`}当然,这个block有互补的问题。