草庐IT

useful-code-snippets-to-develop-i

全部标签

go - dep ensure 失败并显示 Solving failure : failed to clean up git repository .

我正在尝试导入go存储库https://github.com/cloudfoundry/cli当我在go程序中添加import语句时,我的depinit或depensure命令失败。我不确定我无法获得repo的原因是什么。我可以在go/src中执行gitclone,它会提示本地版本可能不一致。不确定这个特定的repo发生了什么。bash-3.2$depensureSolvingfailure:failedtocleanupgitrepositoryat/Users/rjain/go/pkg/dep/sources/https---github.com-cloudfoundry-cli-

去反射 panic : Call using interface{} as type

我在修改Go中的反射时遇到了一个有趣的场景。call1()有效(返回“hello!”),而call2()因reflect:Callusinginterface{}astype而出现panic字符串.在下面的代码中,call1()和call2()之间的唯一区别是如何创建和初始化inValue。我可以清楚地看到为什么call1()导致inValue成为一个string,而call2()导致inValue成为一个interface,所以我的问题不是为什么我的代码会产生这个,而是:为什么Go在第二种情况下不能执行函数调用?我认为接口(interface)仍然包含成功调用该方法的所有必要信息,因

go - 云存储 : unable to upload any content while local with golang

我有这段代码:ctx:=context.Background()cliente,err:=storage.NewClient(ctx)iferr!=nil{log.Fatal(err)}clienteCS:=cliente.Bucket("prueba123456789")w:=clienteCS.Object("prueba").NewWriter(ctx)w.ContentType="text/plain"if_,err:=w.Write([]byte("abcde\n"));err!=nil{log.Fatal(err)}attrs,err:=clienteCS.Attrs(ct

go - 如何从 Visual Studio Code 中的包覆盖范围中排除生成的模拟

我正在通过VisualStudioCode对Golang项目进行单元测试,我使用的依赖项之一称为mockery.它通过在找到的包中创建目标Golang接口(interface)的模拟来工作。因此,即使我发誓要测试所述包中的所有内容,我的测试覆盖率也只有58%。然而,当我从包中取出模拟(事实证明我不需要它)时,我的测试覆盖率肯定像雨一样猛增到我预期的97.9%。有什么方法可以告诉VisualStudioCode“嘿,不要在包覆盖率计算中包含模拟模拟(以mock_开头)”? 最佳答案 解决方案是使用mockery-inpkg和-test

Golang TCP 服务器 : how to write HTTP2 data

我是HTTP/2.0的新手,我正在尝试设置一个用Golang编写的TCP服务器,它接收和写入HTTP/2.0帧。我在将任何数据写回客户端时遇到问题。以下代码片段显示了如何处理请求。conn,err:=l.Accept()iferr!=nil{log.Fatal("couldnotacceptconnection:",err)}deferconn.Close()//Everyconnectionstartswithaconnectionprefacesendfirst,whichhastobereadprior//toreadinganyframes(RFC7540,section3.5

go - 当指定 header_to 有多个收件人时,传输 api 设置错误 To header

我正在尝试向多个人(多个地址)发送电子邮件,并像普通电子邮件一样将它们全部列在电子邮件客户端中。当我设置header_to所有收件人上的字段email1@foo.com,email2@foo.com我最终收到的电子邮件标题设置为"FirstName"这是不正确的。这在大多数客户端中显示为一个人有多个电子邮件地址,并且标题是错误的。为什么sparkpost传输api弄乱了header_tofield?文档说它使用它来代替为您生成Toheader。 最佳答案 在浏览了文档的每一页后,我试图弄清楚sparkpost的后端是如何工作的,我发

docker - 转到 Docker 容器失败 : "Exit Code 1"

我正在尝试在Docker容器中运行我的Go应用程序,但它失败并给出错误退出代码1。该应用程序在我的本地机器上运行良好,但在Docker中运行不佳。下面是我的Dockerfile。FROMgolang:1.8asgoimageRUNgoget-ugithub.com/golang/dep/cmd/depCOPY.src/github.com/aditmayapada/tryoutWORKDIRsrc/github.com/aditmayapada/tryoutENVPORT9090RUNdepensureRUNCGO_ENABLED=0GOOS=linuxGOARCH=amd64gobu

javascript - JSON to Go结构

我有一个类似JSON的{"company_id":"Sahil","company_name":"Sahil","ats_operators":["123"],"ids":[{"duns_id":"1234"}],"company_symbol":"1234"}我想将上面的JSON转换成Go结构。我有一种方法可以做到这一点:typeAutoGeneratedstruct{CompanyIDstring`json:"company_id"`CompanyNamestring`json:"company_name"`AtsOperators[]string`json:"ats_operat

go - 限制 VS Code for Go 仅下载 v 1.11 的包

我正在使用VisualStudioCode1.33.1版作为我们的Go应用程序的IDE。我们想为我们的应用程序使用Go版本1.11。但是看起来我们正在使用的一个或多个依赖项已经为Go1.12下载了一个包。现在,VSCode无法构建应用程序并出现以下错误:gobuildgolang.org/x/sys/unix:modulerequiresGo1.12gobuildgithub.com/pelletier/go-toml:modulerequiresGo1.12go[1,1]我尝试重新安装Go1.11,删除有问题的软件包并让它重新安装。无论我何时尝试构建VSCode,下载1.12版本都无

go - standard_init_linux.go :207: exec user process caused "no such file or directory" while trying to statically link c libs

我无法在go中对用c编写的实用程序进行docker化和使用。我已经在没有docker的情况下在本地运行了这个程序并且它有效我尝试像这样使用gccgogobuild-compilergccgo-gccgoflags-static-libgo但我得到了同样的错误调用C函数的序言如下所示:/*#cgoamd64x86LDFLAGS:-L.-lsomelib-lsomeotherlib#include#include#include"someheader.h"*/我的docker文件如下所示:FROMgolang:1.12ASbuildWORKDIR/go/src/appCOPY..ENVGO