Go问答技术文章
-
我正在用go编写一个实用程序,可用于计算输入字符串的crc32校验和。java中存在类似的实用程序,我们正在广泛使用它,并且一直运行良好。java实用程序使用java.util.zip.crc32来计算校验和。伪代码如下:publicstaticvoidmain(string[]args){finalchecksumchecksum=newcrc32();byte[]input1bytes="input1".getb441 收藏 -
我有一个像这样的结构:typedefstructst_MASK_SETTINGS{uint32_tfoo:1;uint32_tbar:7;}MASK_SETTINGS现在通过cgo我想访问foo-但找不到任何文档如何执行此操作。naivev:=ms.foo抱怨没有字段或方法。441 收藏 -
我对使用yaml和golang相当陌生。目前,我正在创建一个golang程序,它解析rpm包以检查子系统依赖性。它扩展了go-rpmutils库。到目前为止,这是我在主函数中处理条件的代码:funcmain(){//parsetherpmrpm,err:=rpmutils.readrpm("file.rpm")iferr!=nil{panic(err)}//getrpmdeps441 收藏 -
我正在学习gobyexample的教程。我注意到作者展示了使用go例程的gochannel示例,但在错误的go通道中,他直接向通道发送消息。我尝试在本地系统上运行无缓冲通道而不使用go例程,但它抛出“致命错误:所有goroutine都在睡觉-死锁!”但缓冲通道无需goroutine即可正常工作funcchannelDemo(){message:=make(chanstring)//gofunc(){//messag441 收藏 -
我们正在受保护的网络内运行golang代码,并且我们希望golang依赖项(packagegtes)已经成为被克隆的存储库的一部分。这意味着当golang代码运行时,所需的一切都已经存在。我们希望这些依赖项成为git存储库的一部分。我们不希望动态下载golang依赖项。看起来govendor是一种方法。Go模块似乎也提供类似的功能。实现这些目标的最佳实践是什么?441 收藏 -
根据golang源代码:sudog只是一个正在等待元素的goroutine。sudog结构具有这些元素typesudogstruct{g*gisSelectboolnext*sudogprev*sudogelemunsafe.Pointer//dataelement...}我想知道sudo的隐藏含义是什么?它的缩写是什么?441 收藏 -
我不知道字符串的来源是什么,它可以进行url编码,我如何测试它是普通字符串还是url编码字符串这使用这个特定的代码funcdecode(str1string){//str1:="elementINPUT61599119%5B%5D"resl,err:=url.QueryUnescape(str1)log.Println(err)returnresl}funcifUrlEncoded(stringstring)bool{if//fun441 收藏 -
我是一名新的go开发人员,我正在尝试构建一个同时具有grpc服务器和ginhttp服务器的单个项目。我的代码大致如下:packagemainimport("log""net""github.com/gin-gonic/gin""google.golang.org/grpc")funcmain(){startGRPCServer()startHTTPServer()}funcstartGRPCServer441 收藏 -
我有一个函数,我想定义最大数量的go例程,我有一个列表,我浏览这个列表,然后通过通道向go例程发送消息,在这个go例程中我将调用一个函数,要么得到答案,要么得到错误,当它不是错误时,我想将返回保存在切片中,当它是错误时,我想停止go例程并进行调用。但我无法做到这一点,以便当我出错时,所有go例程都会结束,并且我需要err的值typeresponsestruct{valuestring}funcTesting()[]response{fa441 收藏 -
有没有办法nack消息并告诉pubsub后端在X秒内重新传送它?我并不是在寻求全局重试策略,因为我知道订阅具有指数退避重试选项,我正在寻找一种方法来指示在X秒内重新传递单个消息。441 收藏 -
bson的格式:{name:"root",sports:"cricket",personal:{age:32}}go结构体格式:typePersonstruct{Namestring`bson:"name"`Ageint`bson:"age"`}如何在golang中将age的值绑定到这种结构体格式中?441 收藏 -
我在go中有这段代码:funcProvision(envstring)error{primaryPath,err:=FindPrimaryRegionForEnv(env)iferr!=nil{returnerr}region:=extractRegionFromEnvPath(env,primaryPath)iferr=ProvisionTableInDynamoDB(env,region);441 收藏 -
下面是代码片段,我在其中声明了一个for循环并从框数组中获取索引和框。我在ifelse块中使用下面相同的索引,但是golangci-lint抱怨变量索引未使用funccreateMap(actionstring,boxes[]Box,ratesMapFeeMap)[]RateRes{resp:=make([]RateRes,len(boxes))overrideKey:=fmt.Sprintf("%s-*",action)fo441 收藏 -
我正在尝试将会话添加到用go编写的现有http服务器。我有如下代码typehttpserverstruct{getroutesmap[string]http.handlerfunc//pattern=>handlerpostroutesmap[string]http.handlerfuncserverhttp.server}func(s*httpserver)run(){address:="127.0.0.1:441 收藏 -
对于Go来说相对较新,想知道是否有任何方法可以使用您在之前的项目中称为goget或gomodtidy的依赖项来启动新项目,而无需连接到互联网?有没有办法导入整个包,而无需重新连接到互联网来从同一依赖项下载/整理更多子包?我问这个问题的原因是,我在编写代码的地方通常无法访问互联网,因此胡思乱想让事情顺利进行变得非常烦人。到目前为止,似乎唯一有效的方法是复制旧项目并将其清除,但这似乎有点荒谬,即使不必从mod/sum文件中专门删除您不想再次使用的内容。我肯定错过了什么吗?
441 收藏