草庐IT

go-mocket

全部标签

go - 按字段内容过滤包含字符串

我有一些对象:{"name":"universiteparissorbonne","id":"548272c9-6615-4e93-aa15-9af0a830c9a2"}{"name":"universiteparisdauphine","id":"943234f3-6615-4e93-aa15-9af0a830c9a2"}{"name":"universitesorbonnenouvelle","id":"24f477f3-6615-4e93-aa15-9af0a830c9a2"}如果我想选择名称中包含parisdau的每个对象,我该怎么做?我已经尝试过,但它不起作用。curs,_=

node.js - 在本地而不是远程导入 Go 包

在一个node.js项目中,我在Node不足以处理的关键部分使用Go。我想将Go代码拆分为一个sockets包和一个main包,其中sockets包含main所需的结构/接口(interface)要运行的包。我遇到的问题是,根据我从Go文档中收集到的信息,我只能从github/gopkg远程使用外部包,如sockets。我不想将项目的存储库拆分为一个包含Go代码的存储库和一个包含Node的存储库。我怎样才能使sockets包可用于main在本地导入,同时如果对它们的源代码进行了任何更新,则可以为这两个包重建二进制文件?编辑:导入包不再是问题,但在更新时重建包仍然存在

arrays - go 中没有匿名数组?

而不是做:varadapters[]LogicAdapteradapter1:=&ExampleAdapter{0.9}adapter2:=&ExampleAdapter{0.8}adapters=append(adapters,adapter1,adapter2)bot:=ChatterBot{"Charlie",MultiLogicAdapter{adapters}}我试过:bot:=ChatterBot{"Charlie",MultiLogicAdapter{[]LogicAdapter{&ExampleAdapter{0.9},&ExampleAdapter{0.8}}}}但是

github - "go get"之后的 GO 命令行问题

所以我刚刚安装了GO以使用Primitive(这里是README.md)https://github.com/fogleman/primitive.本质上应该发生的是您提供图像并使用多边形重新创建它。这是使用Primitivehttps://codepen.io/DavQ/pen/wgVWzo重新转换的图像示例正如它所说的Command-lineUsagegoget-ugithub.com/fogleman/primitiveprimitive-iinput.png-ooutput.png-n100第一个命令运行良好,我用“golist./...”检查是否有它我现在在一个名为“recu

go - 以更紧凑的方式分配 5 GB RAM

我只是将一些代码从C/C++移植到Go,它是一个微服务。它运行良好,甚至比在C/C++中更快。但是我的内存力有问题。当我的程序启动时,它会分配大约4.5GB的RAM,并用光盘中的数据填充它,并在加载时处理数据,然后它会运行几天(希望是几个月)来满足来自RAM的请求。不幸的是,在RAM中的数据处理和放置完成后,Go仍然分配了额外的3.5GBRAM。我不做任何重新分配,只做分配,我认为我的程序在任何时候都不会真正使用8GB,所以我认为Go只是获得了额外的RAM,因为它“感觉”我可能很快需要更多,但我不会。我读到Go不允许任何功能来释放未使用的RAM以将其返回给系统。我想在同一台机器上运行更

go - 将所有错误处理的 golang 错误代码替换为 panic

我们有一个用go编写的中型应用程序。在所有代码行中,大约60%用于代码错误处理。像这样:iferr!=nil{returnerr}一段时间后,一遍又一遍地写这些行变得很烦人,我们现在正在考虑用panics替换所有错误代码。我知道panic不应该那样使用。什么可能是潜在的陷阱,有没有人有类似的经验? 最佳答案 主要的缺陷是广泛使用锤子来驱动螺丝。panic是针对不可恢复/意外的错误,错误返回值是针对可恢复/预期的错误。将“panic”一词替换为“崩溃”,因为这在概念上就是panic。您是否真的想编写一个应用程序,只要出现任何远程错误,

go - go 语言中的函数管道

是否有可能在go语言中创建函数管道,其中一个函数的输出直接约定为另一个函数的输入。如果不清楚并且您需要更多信息,请在评论中讨论。其他函数式语言提供了一些结构,例如在javascript中是then和promises,在java中它们使用andThen和lambdas,对于c#,它是FunctionExtensions。像unix这样的shell程序也提供了buitin方法叫做pipes|funcprocessA(testTestObj){//dosomethingreturntest}funcprocessB(testTestObj){//dosomethingreturntest}f

go - 为什么 Go 中有包声明?

这个问题在这里已经有了答案:Whatisthepurposeofthepackagedeclaration?(2个答案)关闭5年前。为什么我们需要在文件夹中的每个文件中放置一个包声明,以将指定的.go文件标记为包的一部分?目录名称本身可以是它包含的所有文件的包名称。那么这个决定的意识形态点是什么?

go - 在内存地址调用 func

我有一个映射,其中一个结构作为键,一个函数作为值,我想在检索给定键的值时调用函数map[struct]funcmap[{contact%!s(int=1)}:%!s(main.Controller=0x4c7b50){services/basket%!s(int=2)}:%!s(main.Controller=0x4c7ad0){categories%!s(int=1)}:%!s(main.Controller=0x4c7ae0){categories/{category}%!s(int=2)}:%!s(main.Controller=0x4c7af0){categories/{cat

http - Go http客户端不遵循重定向

我有一个检查url的函数:funcCheckurl(urlstring){client:=&http.Client{}req,err:=http.NewRequest("GET",url,nil)resp,err:=client.Get(url)错误变量:意外的EOF在tcpdump中我看到重定向和连接关闭:15:53:41.510722IP(tos0x0,ttl248,id18315,offset0,flags[none],protoTCP(6),length123)XXX.XXX.XXX.XXX.80>XXX.XXX.XXX.XXX.53618:Flags[F.],cksum0xb