草庐IT

go-mocket

全部标签

go - 如何比较两个不同类型的结构?

如何检查两个不同类型的结构是否相等?意思是如果我们有typeA的结构和typeB的结构,如果在两个结构中我们有相同数量的相同类型的字段——它们是相等的。typelayoutAstruct{Aint}typelayoutBlayoutAreflect.TypeOf(layoutA{})==reflect.TypeOf(layoutB{})//falsecmp.Equal(layoutA{},layoutB{})//falsecompareStructs(layoutA{},layoutB{})//true-needtofindthisfunctioncmp包->"github.com/g

go - 使用 URL 下载 zip 文件

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭3年前。Improvethisquestion尝试从以下URL下载zip文件:https://www.3gpp.org/ftp//Specs/archive/29_series/29.512/29.512-f20.zip我尝试在Go中使用http.Get下载:resp,err:=http.Get(specUrl)iferr!=nil{returnerr}在下载zip文件方面需要帮助。

go - 如何使用 chromedp 代理

我想截取亚马逊等网站(数千页)的屏幕截图。我尝试了一些代码,但在屏幕截图中出现了验证码或流量错误。所以我想用chromedp添加代理。ctx,cancel:=chromedp.NewContext(context.Background())defercancel()chromedp.ProxyServer("http://username:password@proxyserver.com:31280")chromedp.Run(ctx,chromedp.Navigate("http://wtfismyip.com"),chromedp.Sleep(3*time.Second),chro

go - 如何优化向 API 发出请求的 for 循环?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭3年前。Improvethisquestion我的Go代码中有一个for循环。每次迭代都会向某个API发出请求,然后将其结果保存在map中。如何优化性能以便异步调用迭代?我目前正在研究goroutines和channel等等,但我仍然无法在野外应用它:)results:=map[string]ResultforID,person:=rangepeople{result:=someApiCall(person)results[ID]=result}//

go - SDL2 音频无法正确播放

我在这里使用SDL2绑定(bind)在Golang中制作游戏:https://github.com/veandco/go-sdl2问题是,我添加了代码来播放音频,但当我尝试时,音频声音很乱。由于声音的持续时间,您可以看出它实际上播放了一些东西,并且它在正确的事件中被触发。但声音本身是困惑的。这是我的代码:packageSDLimport("io/ioutil""log""github.com/veandco/go-sdl2/mix")varAUDIOSmap[string]*mix.Chunkfuncinit(){AUDIOS=make(map[string]*mix.Chunk)AU

go - 我对发送 channel 的效果有疑问

我不清楚为什么funca1中的print语句如果我删除将不会打印任何内容在funca2.我认为在我们将结果发送到结果之前,应该执行print语句,并且应该不会对此产生影响。funca2(){x:=3result:=make(chanint,10)input:=make(chanint,10)goa1(x,input,result)input但是,我尝试了以下代码:它将打印hello不管我有没有还是不是。funca2(){x:=3result:=make(chanint,10)goa1(x,result)能否详细解释一下,让初学者也能看懂?好像input这个输入channel正在做一些导

go - 附加到循环中的 slice

我在循环中附加到slice时遇到问题。循环中最后读取的内容替换现有slice内容。我试过内置函数append,也试过直接用索引赋值,都没用。packagemainimport("fmt""io/ioutil""log")funcmain(){content,err:=ioutil.ReadDir("./")iferr!=nil{log.Fatal(err)}vara[]map[string]stringe:=map[string]string{}for_,eachContent:=rangecontent{ifeachContent.IsDir(){e["name"]=eachCont

regex - 如何在go中检测单个字符串中正则表达式的所有匹配项

我正在尝试构建一个正则表达式来检测字符串中类似unix时间戳的模式。但是,某些字符串包含多个“unix时间”(如模式),而go的正则表达式仅检测此类模式的第一个实例。我当前的正则表达式:utcRegex,_:=regexp.Compile(^.*\[(\d{7,})\].*)utcCheck:=utcRegex.FindStringSubmatch(字符串)utc:=utcCheck[1]以下是一些示例字符串:正则表达式可以很好地处理这些类型的字符串“11月6日11:21:34[14039]:[1541532094][DEBUG]FOOBAR”正则表达式正确检测到1541532094正

go - 如何使用Golang进入FTP的被动模式?

我是golang的新手,正在尝试使用golang通过ftp服务器连接到服务器。但是由于服务器要求我进入被动模式才能连接它。谁能告诉我该怎么做? 最佳答案 如果您使用goftp库,将activetransfers设置为falseconfig:=goftp.Config{}config.User=userLLconfig.Password=passwordLLconfig.ActiveTransfers=falseclient,err:=goftp.DialConfig(config,hostLL)iferr!=nil{fmt.Prin

go - 如何在 Go 和 gRPC 中构建结构数组?

我正在尝试将字符串数组添加到结构的内容部分,并将Id作为数组索引。我的代码适用于一个元素,但是当我尝试添加循环时出现各种错误。欢迎任何想法。我正在使用Go。funcbuildRequest(s[]string)[]*storepb.LongStoreRequest{//ss:=[]storepb.LongStoreRequest//int32i=0stringv:=s[0]//fori:=0;i 最佳答案 如果我对你的描述理解正确,你想要构建一个LongStoreRequests数组,其中每个元素对应于字符串数组中的一个项目,Id给