草庐IT

go-mocket

全部标签

go - 两个节点可以直接交换消息吗?

我正在研究基于Kademlia的去中心化网络。在启动一个新节点后,不是向最近的节点广播消息,而是可以将消息发送到由其ID标识的特定节点吗?(即使这意味着在到达目的地之前将消息中继到多个对等方)。 最佳答案 Kademlia是一种抽象路由算法,结合了构建分布式哈希表所需的一组操作。kademlia-as-algorithm中不存在广播的概念。但是具体的实现可以在此基础之上添加功能。由于kademlia提供迭代find_node过程(没有转发!),您可以找到一个节点,然后交换任何数量和类型的额外消息,它们相互支持。

go - 解码 json 值的更好方法

假设一个具有通用格式的JSON对象"accounts":[{"id":"","tags":[]}]}我可以创建一个带有相应json标签的结构来解码它typeAccountPropertiesstruct{IDAccountID`json:"id"`MT4AccountIDint`json:"mt4AccountID,omitempty"`Tags[]string`json:"tags"`}typeAccountsstruct{Accounts[]AccountProperties`json:"accounts"`}但最后一个只有一个元素的结构对我来说似乎不正确。有没有一种方法可以简单地

go - x/手机 : Launch a android application with given package name [String] in go

下面是用go写的函数:funcLaunchApplication(packageNamestring){Query:howcanIexecuteapplicationwithgivenpackageName}使用gomobile生成java绑定(bind)[.aar]。我想包含在我的android应用程序中生成的.aar,并从java层调用LaunchApplication("com.package.name")到本地go层,go层应该运行该应用程序。在java应用中,使用包名运行apk的方法如下:Processprocess=Runtime.getRuntime().exec("am

Go Scanner 仍然返回 <nil>

首先:我是golang的新手,所以我可能不太了解。我的任务是使用“gorp”从一个数据库中编写一个Go数据提取器。问题出在一张表上,该表具有自定义字段“TimeRange”。它被定义为:typeTimeRangestruct{FromstringTostring}遗憾的是,当我尝试获取行时出现扫描器错误,所以我意识到我需要一个自定义扫描器。//Scan-Implementthedatabase/sqlscannerinterfacefunc(tr*TimeRange)Scan(valueinterface{})error{tr.From="mis"tr.To="lala"fmt.Pri

go - 如何在 Golang 中创建 block 矩阵?

我正在尝试创建一个包含4个block(n*n子矩阵)的block矩阵。我尝试了很多东西,但我无法让它工作。funcnewBlocMatrix(AMatrix,BMatrix,CMatrix,DMatrix)(MMatrix){varMMatrix//Somethinghere//FilledwithA,B,C,andDreturnM,nil}有什么用矩阵A、B、C和D填充矩阵M的建议吗? 最佳答案 为简单起见,我假设Matrix是正方形(n*n)[][]int:packagemainimport"fmt"typeMatrix[][]

http - 如何在 go-chi 中启用 gzip 压缩中间件

如何使用go-chi框架的gzip中间件启用gzip压缩?尝试使用此处显示的示例:https://github.com/go-chi/chi/issues/204但是当我检查curl时,我得到了这个:$curl-H"Accept-Encoding:gzip"-Ihttp://127.0.0.1:3333HTTP/1.1405MethodNotAllowedDate:Sat,31Aug201919:06:39GMT我尝试了代码“helloworld”:packagemainimport("net/http""github.com/go-chi/chi""github.com/go-chi

xml - 如何使用一个字段作为标记将另一个字段作为值将 go struct 序列化为 XML

我有一些结构:typeTokensstruct{}typeTokenstruct{TypestringValuestring}IneedtogetXMLfileastheoutput:xyz其中keyword,identifierorsymbol是Type字段的值,x,y,x是Value字段的值具体来说,我不需要将每个标记包装到标签中。token有多种类型,但对于某些值只有一种类型。标准库encoding/xml没有为此提供现成的解决方案。貌似只提供字段名作为标签的能力 最佳答案 您可以使用编码/xml。即:packagemaini

Go 经常解析失败(goquery)

我有一个Pythonprogram检查亚马逊的产品价格是否低于预期。出于学习目的并使其更具可移植性,我将该代码移植到Go。这是我的第一个Go程序。为了解析html,我使用了goquery.到目前为止,我只是想检索产品的名称。这是代码:packagemainimport("flag""fmt""log""github.com/PuerkitoBio/goquery")funcmain(){url:=flag.String("url","","URLoftheproduct")flag.Parse()doc,err:=goquery.NewDocument(*url)iferr!=nil{

go - 在 go wiki 中解释 go 接口(interface)定义

我了解了一点,并且在一定程度上也了解了界面(比如我如何在ruby​​中进行ducktyping)但是阅读接口(interface)定义https://github.com/golang/go/wiki/CodeReviewComments我不知道要传达什么。第一:我没看懂评论。Gointerfacesgenerallybelonginthepackagethatusesvaluesoftheinterfacetype,notthepackagethatimplementsthosevalues.第二:我不明白这个Donotdefineinterfacesontheimplementor

docker - ci/cd中断go get测试

我正在尝试预构建docker映像,以便我的ci/cd管道运行得更快,并且go出现了问题我曾尝试过重置缓存和更改环境变量,但是没有人为我工作Fetchinghttps://git.dar.kz/forte-market/domain?go-get=1Fetchinghttps://gopkg.in/olivere/elastic.v5?go-get=1go:findinggithub.com/sirupsen/logrusv1.4.2go:findinggithub.com/modern-go/reflect2v1.0.1go:findinggithub.com/xanzy/go-git