Go问答技术文章
-
我之前用sync.waitgroup配合goroutine,但是我想控制goroutine的并发度,所以我编写了具有并发限制的等待组,例如:packagewglimitimport("sync")//waitgrouplimit...typewaitgrouplimitstruct{chchanintwg*sync.waitgroup}//new...funcnew(sizeint)*waitgrouplimit{157 收藏 -
我混淆了指针的%p和%v格式动词提供的输出vara*int//zerovalueofais:fmt.Printf("%v",a)////using%pfmt.Printf("%p",a)//0x0我们知道%v使用%p作为默认格式化程序,那么为什么%v显示作为输出?未初始化指针的零值是,那么为什么%p输出0x0呢?根据go文档,%p使用以0x开头的基数16表示法,如果是这样,和0x0是否相同?180 收藏 -
我想按需取消正在运行的命令,为此,我正在尝试,exec.commandcontext,当前正在尝试此操作:https://play.golang.org/p/0jtd9hkvyadpackagemainimport("context""log""os/exec""time")funcRun(quitchanstruct{}){ctx,cancel:=context.WithCancel(context.Backgroun121 收藏 -
java正则表达式:str.replacefirst("(\\p{xdigit}{8})(\\p{xdigit}{4})(\\p{xdigit}{4})(\\p{xdigit}{4})(\\p{xdigit}+)","$1-$2-$3-$4-$5")我在go中尝试过的内容:re:=regexp.MustCompile("(\\p{XDigit}{8})(\\p{XDigit}{4})(\\p{XDigit}{4})(\\p{XDigit}{4})(\\p{XDigit}+)")re173 收藏 -
我是一个完全的go新手,很抱歉提前提出这个问题。我正在尝试使用如此定义的接口来连接到消息代理://brokerisaninterfaceusedforasynchronousmessaging.typebrokerinterface{options()optionsaddress()stringconnect()errordisconnect()errorinit(...option)errorpu433 收藏 -
我有一个java脚本,可以将网站html表内容从Web应用程序导出到CSV。我想绕过这个问题,当按下按钮时,它会运行一个查询并将其下载到CSV,而无需先将其加载到html表中。有人有类似的情况吗?这对于打印报告很有用。我收到的一些大型报告必须首先加载到网站中,导致太多的延迟。270 收藏 -
我想实现一个稍微定制的接口版本。我们以sort.interface为例。我们已经有了实现整个接口的sort.intslice。但我想实现一个absolutesort算法。为此,我只想更改less方法。像这样的事情:typeAbsSortedArraystruct{sort.IntSlice}func(aAbsSortArray)Less(i,jint)bool{returnabs(a[i])266 收藏
我有两个在本地主机上运行的golang服务器。他们使用不同的端口。我想在一个请求上创建一个post请求,将json对象发送到另一个请求。我正在使用echo框架(如果这很重要)当我尝试为post对象封送对象时,出现错误:2-valuedjson.marshal(data)(valueoftype([]byte,error))wheresinglevalueisexpected服务器1:typesendemailstruct{send398 收藏
我正在尝试使用reflect.select在通道中发送数据。代码如下。c:=make(chanint,1)vc:=reflect.valueof(c)gofunc(){194 收藏
我有类似的json{"a":{"key":"a","value":1,},"b":{"key":"b","value":1,},}有没有办法将其解组为[]*struct{keystring;值int},保留结构的顺序?如果我将json解组为map[string]*struct{keystring;值int}然后将贴图转换为切片,我会丢失结构的顺序。257 收藏
我想在Ubuntu服务器上设置Beego(没有Nginx),但我无法访问该网站并且出现连接超时错误。如果有任何错误,谁可以检查我的步骤吗?这是我的步骤:我使用了beepack来打包我的代码。然后,使用FileZilla上传包。之后,运行tar-xvfbeego_project.tar.gz进行解压。使用nohup./beego_project运行项目代码在本地主机上可以正确运行,但为什么不能在远程服务器上运行?168 收藏
我不知道如何解组api提供的json数据并使用这些数据以指定格式打印。packagemainimport("encoding/json""fmt""io/ioutil""net/http")typepostOffice[]struct{NamestringTalukstringRegionstringCountrystring}funcmain(){dat436 收藏
所以我已经为此摸不着头脑了几个星期,在阅读了一些关于$gobuild如何工作及其三个神奇目录/bin、/pkg、/src的资料后,它是我仍然不太清楚如何使用自定义包构建golang项目以及如何管理git存储库。让我更详细地解释一下我的情况:我正在项目目录中处理一个go项目,该项目目录与默认的.../user/go/...不同。对于我的所有项目,我有一个不同的目录树,其结构如下:projects|project-a|project-b|docs490 收藏
我正在使用gin-gonic/gin来编写我的服务器。看起来即使连接丢失,处理函数仍在运行。例如,如果我访问http://127.0.0.1:8080/ping并突然关闭浏览器,屏幕将继续打印所有数字。packagemainimport("github.com/gin-gonic/gin""log""time")funcmain(){r:=gin.Default()r.GET("/ping",func(c*gin.Co274 收藏
有人能给我指出go语法的正确方向吗:(*int)(nil)如果我有一个给定类型的值,并且我想将其转换为float64,我可以这样做:varnumint=65fnum:=float64(num)如果我有一个接口并且我想将其“转换”为某种类型,我可以这样做:funcmain(){concretevalue:=dosomething("hello!")fmt.Printf("%T:%v",concretevalue,concretevalue287 收藏