草庐IT

正确率

全部标签

go - 改进多个 map 访问并避免不正确的类型转换

我的项目中有这段代码://data.Objectsisamap[string]interface{}corporateName:=data.Objects["corporateName"].(string)dba:=data.Objects["dba"].(string)licence:=data.Objects["licence"].(string)resaleCert:=data.Objects["resaleCert"].(string)einNumber:=data.Objects["einNumber"].(string)phoneNumber:=data.Objects["

Golang 中的正则表达式命名组未正确捕获

我有以下字符串,它是来self们网络上投影仪的发现数据包:AMXB我正在尝试编写一些Golang代码将其转换为map,因此我可以调用details["UUID"]并让它返回ABCDEFG.我写了一个如下所示的正则表达式:(?:UUID=)(?P(.*?))>|(?:Make=)(?P(.*?))>|(?:Model=)(?P(.*?))>|(?:SDKClass=)(?P(.*?))>当我使用regex101在线测试它时,它似乎可以很好地匹配所有内容,除了编号的组,但我可以很容易地忽略这些:MATCH1SDKClass[15-29]VideoProjector[15-29]VideoP

testing - 使用 ginkgo/gomega 测试 Go 应用程序时测试文件的正确结构

我的Go应用程序(restfullapi服务)正在增长,我决定使用测试。我的选择是Ginkgo/Gomega。学习网站(http://onsi.github.io/ginkgo/#getting-started-writing-your-first-test)我发现开始测试你需要转到包裹银杏Bootstrap这将在包文件夹的根目录中创建文件[your_package]_suite_test。没关系。但是如果我想再次测试我需要的某些功能或文件或包转到文件夹和ginkgo生成[test_name],它将在此处创建stub测试文件。所以,一会儿我们就会有很多乱七八糟的东西:我们的应用程序文件

json - GitHub 无法正确解析 key GoLang API 请求

因此,以下代码接收创建的公钥,然后将其传递到对象中,然后将对象编码到json中。然后将此json传递到http请求中。Github正确解析json但返回sshkey无效。如果我复制内容并上网粘贴key,它就可以正常工作。我确实编辑了key以删除key的user@hostname部分(我总是这样做,即使我知道这是不安全的)以查看是否是问题所在。funcaddKeyToGitHub(tokenstring,commentstring,publickey[]byte)(*http.Response,error){iftoken==""{fmt.Println("Pleasecreateato

http - Go 服务器无法正确提供文件

我正在创建一个SPA。我正在尝试使用index.html响应所有请求(我在前端处理路由)。我的目录结构是这样的:后端--main.go前端..(一些其他文件)..--index.html整个项目位于“C:\Go\Projects\src\github.com\congrady\Bakalarka”我的main.go文件如下所示:packagemainimport("net/http")funchandler(whttp.ResponseWriter,r*http.Request){http.ServeFile(w,r,"../Frontend/index.html")}funcmain

linux - docker api ContainerExecInspect 无法获得正确的退出代码

我正在使用dockerengine-api(github.com/docker/engine-api)来执行一些命令我使用client.ContainerExecCreate,然后使用client.ContainerExecInspect来运行我的命令,然后获取命令退出代码(我在同一容器中运行多个命令,因此从ContainerInspect获取的退出代码对我来说毫无用处。)这是我用来在容器中执行命令的函数http://pastebin.com/rTNVuv9T但ContainerExecInspect有时会返回错误的值,因为有时ContainerExecInspect在命令退出之前被调

http - 转到 IRIS http frameowrk,我无法正确路由

好的,首先让我开始说我知道我真的应该使用net/http框架,除非我有自己编写的知识或者我明确地尝试过但它没有用。然而,我是个白痴,我认为我可以通过使用框架来节省一些时间和头痛,我认为选择一个只由一个人维护的框架是个好主意。框架在这里:https://github.com/kataras/iris但我不希望你通读所有内容。但是,它是基于fasthttp之上的,你们中的一些人可能有经验(希望如此)。我遇到的这个框架的问题是静态内容服务的配置。例如,我有我的索引页面:iris.Get("/",serveHome)在ip:port上提供html模板。我有这样列出的静态资源:iris.Stat

multithreading - 使用 golang sync.WaitGroup 的正确方法是什么

如golangdoc中所述,sync用于低级库例程。OtherthantheOnceandWaitGrouptypes,mostareintendedforusebylow-levellibraryroutines.Higher-levelsynchronizationisbetterdoneviachannelsandcommunication.我不太理解这个语句,我像下面的例子一样使用同步。我的目的只是让主线程等待所有其他线程完成,类似于c++线程库中的.join()。问题:1:这样使用sync合适吗?或者我应该使用channel而不是同步?2:channel和sync有什么区别?

go - 单个 go 项目使用的 go 包的正确文件夹结构

我目前正在开始使用Go,并且已经深入研究了有关包命名和工作区文件夹结构的注意事项。不过,我不太确定如何根据Go范式正确组织我的代码。这是我当前的结构示例,它位于$GOPATH/src中:github.com/myusername/project|--main.go+--internal+----config|------config.go所以我有一个名为project的项目,它使用config包,而该包又以一种只应由project使用的方式专门化。因此,我不希望它位于github.com/myusername/config下,对吗?现在的问题是,使用内部包结构是否“好”,或者我应该将我

golang exec 不正确的行为

我正在使用以下代码段获取在XENHypervisor上运行的虚拟机的XML定义。该代码正在尝试执行命令virshdumpxmlUbutnu14,这将提供名为Ubuntu14的VM的XMLvirshCmd:=exec.Command("virsh","dumpxml","Ubuntu14")varvirshCmdOutputbytes.Buffervarstderrbytes.BuffervirshCmd.Stdout=&virshCmdOutputvirshCmd.Stderr=&stderrerr:=virshCmd.Run()iferr!=nil{fmt.Println(err)f