草庐IT

go-admin

全部标签

go - 关于时间的准确性.Timer

packagemainimport("time""fmt""sync")funcmain(){varwgsync.WaitGroupwg.Add(1)TestTicker(wg)wg.Wait()}funcTestTicker(wgsync.WaitGroup){calDuration:=func(durationtime.Duration)time.Duration{now:=time.Now()returnnow.Truncate(duration).Add(duration).Sub(now)}gofunc(){t:=time.NewTimer(calDuration(time.

go - Go 的闭包在内存中是如何布局的?

有关闭包的一般说明,请参阅HowdoJavaScriptclosureswork?Go闭包在内存中究竟是如何布局的?以下面的函数为例:typeMintfunc(m*M)Adder(amountint)func(){returnfunc(){*m=*m+amount}}当我们的代码调用a:=m.Adder()时,堆上分配了多少内存,它是什么样子的?返回的func()值占用了多少内存(无论它最终在内存中的什么位置)? 最佳答案 TheGoProgrammingLanguageSpecificationFunctionliteralsAf

go - 从 Go 中的子函数关闭/返回 ResponseWriter

我是Go和构建网络应用程序的新手。我的处理程序的一个例子是这样的:funcgetAllPostsHandler(whttp.ResponseWriter,r*http.Request){varposts[]PostdbSesstion:=context.Get(r,"database").(*mgo.Session)err:=dbSesstion.DB(dbsett.Name).C(dbsett.Collection).Find(nil).All(&posts)iferr!=nil{log.Print("error:",nil)w.WriteHeader(http.StatusInte

go - Golang 之旅 : Slices are like references to arrays

我正在做Go之旅,这部分是“slice就像对数组的引用”。我根本没有更改此代码,所以我很好奇为什么它会耗尽内存。 最佳答案 不应该崩溃,可能是旅游网站有一段时间出了问题......目前任何方式, 关于go-Golang之旅:Slicesarelikereferencestoarrays,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/51776854/

go - 配置aws-sdk-go与localstack的SQS进行交互

我需要一些帮助来集成aws-sdk-go和localstack来访问sqs服务。我试过这样的方法:result,err:=q.Client.SendMessage(&sqs.SendMessageInput{MessageAttributes:map[string]*sqs.MessageAttributeValue{"JobName":&sqs.MessageAttributeValue{DataType:aws.String("String"),StringValue:aws.String(jobName),},},MessageBody:aws.String(messageBod

curl - 使用相当于curl请求的Go语言上传multipart文件

以下是我的curl请求示例。curl-XPOST-F'upload=@/home/user/file.txt''some_url'-H'api:api_key'-H'callback_url:callback_url'我想用go语言做同样的事情。谁能帮帮我我试过以下packagemainimport("fmt""net/http""io/ioutil""os""log")funcmain(){data,err:=os.Open("file.txt")iferr!=nil{log.Fatal(err)}req,_:=http.NewRequest("POST","url",data)re

go - 为什么命令 "go clean -n -r -i github.com/ethereum/go-ethereum..."不起作用?

我是一步一步做的:Git克隆go-ethereum项目到我的本地PC。它位于D:\GOPATH\src\github.com\ethereum\go-ethereum。这是源代码去以太坊注意:操作系统为windows7,Go已经安装。并且GOPATHenv已经设置为“D:\GOPATH”cd/dD:\GOPATH\src\github.com\ethereum\go-ethereum。然后执行“去安装”。在D:\GOPATH\bin下生成了一些exe文件目录下生成了很多后缀为.a的pkg文件D:\GOPATH\pkg目录。一切似乎都没有问题。执行“goclean-n-r-igithub

linux - 无法在 Linux 上的 goroutine 中运行 go web serve (Mint)

我正在尝试在我的go应用程序中启动一个网络服务器。当我在Windows上运行我的代码时,一切都按预期工作。应用程序运行它启动web服务器,然后等待。在Linux上,它似乎做同样的事情,只是我无法访问Web服务器。如果我在不使用goroutine的情况下启动Web服务器,服务器会正​​常工作,只有当我使用goroutine时它​​才会失败。packagemainimport("fmt""log""net/http")funcmain(){//gostartWebServer()//ThisonlyworksonWindows.//startWebServer()//Thisworkson

go - 自动调整主窗口大小

我正在使用Go-Astilectron创建一个应用程序(Go的Electron框架)。我的应用程序有一个无框透明窗口,应根据其内容调整大小。据我所知,我有义务在Electron中设置窗口的width和height属性,否则它将默认为800x600。我想知道的是,Electron是否有一种方法可以根据其内容自动调整窗口大小。我可以使用“一刀切”的方法,但由于我的窗口是无框和透明的,它的某些部分最终会位于其他内容之上,并且由于没有点击,用户会感到困惑以为他正在点击其他应用程序,而实际上他正在点击我的应用程序。这是我创建窗口的代码:varw*astilectron.Windowlog.Deb

go - monorepo 和自定义目录结构中的多个 Go 模块

我有2个可能相关的问题。我有一个测试monorepo设置,有2个子目录(mod1和mod2)。它们中的每一个都有一个go.mod文件,每个模块都有一个包含基本打印代码的.go文件。在mod2中有一个子目录mod2_lib(其中包含一个带有基本打印代码的简单.go文件),因为我阅读了Go模块基本上是他们自己的小GOPATH。我想从mod1调用包mod2/mod2_lib中的函数Run(),但我得到的只是构建github.com/account_name/test/mod1:找不到路径github.com/account_name/test/mod2/mod2_lib的模块。这是我用来解决