草庐IT

进行性

全部标签

go - 我如何在 Go 中对接口(interface) slice 进行 json 解码?

我正在将json.Decode()'ing(请原谅我的速记)从api到大型结构的json响应。在该结构中有一些属于[]interface{}类型的类型。我不知道如何从那些特殊的嵌套结构中提取任何数据。我曾尝试使用caseswitch类型检查解决方案,但仍然空手而归。有人可以分享他们在类似案例中的经验或为我指明正确的方向吗?m:=new(largestruct)iferr:=json.NewDecoder(resp.Body).Decode(&m);err!=nil{returnerr}接口(interface)的结构字段是:Strings[]interface{}`json:"stri

go - 避免在循环中对 slice 值进行类型转换

我正在从服务器读取API(JSON)响应,我应该得到(如果状态为200ok)以下响应。//IfIsentawrongdata..{error:"somevalue",message:"...descriptionoftheerror"}或//ifallisgood{events:[{key1:1},{key2:"two"}...]}因为我不确定响应的类型。我正在将响应解码为map[string]interface{}。resp:=make(map[string]interface{},0)json.NewDecoder(response.Body).Decode(&resp)在代码流的

json - 如何将双引号中的内容与 golang 中的正则表达式进行匹配?

content:=`{null,"Age":24,"Balance":33.23}`rule,_:=regexp.Compile(`"([^\"]+)"`)results:=rule.FindAllString(content,-1)fmt.Println(results[0])//"Age"fmt.Println(results[1])//"Balance"有一个带有``null``值的json字符串,它看起来像这样。这个json来自webapi,我不想替换里面的任何东西。我想使用正则表达式来匹配这个json中没有双引号的所有键,输出是``Age``和``Balance``而不是``

go - Golang中如何使用Openssl RSA公私钥对数据进行加解密?

我正在尝试编写一个使用RSA公钥加密数据并使用私钥解密数据的程序。RSAkey是使用openssl工具生成的。我找到了SpacemonkeygoOpensslhttps://github.com/spacemonkeygo/openssl为此目的包装。但无法找到任何样本,而且他们也没有可用于相同的文件。以至于我无法使用。请指导我如何在Golang中使用Openssl?我正在使用第一次加密解密和Openssl。提前致谢! 最佳答案 IamtryingtowriteaprogramwhichencryptsdatausingaRSApu

go - 如何使用 logpacker package paypal 进行信用卡支付?

我在golang应用程序中使用logpacker包使用paypal进行信用卡交易,但它返回给我POSThttps://api.sandbox.paypal.com/v1/payments/payment:500错误我的main.go文件有这段代码::packagemainimport(paypalsdk"github.com/logpacker/PayPal-Go-SDK""fmt")varClientID="my-client-id"varSecretID="my-secret-key"funcmain(){//Initializeclientc,err:=paypalsdk.New

mysql - 当 Golang 程序在进行数据库事务时终止,它可以回滚吗?

假设MariaDB兼容数据库(AWSAuroraRDS)具有默认设置,其中包括启用自动提交,如果Lambda函数在三秒后终止,则执行一个需要花费的事务超过五秒,例如tx,err:=h.db.Begin()iferr!=nil{log.WithError(err).Error("failedtostarttransaction")}res,execErr:=tx.Exec(fmt.Sprintf("UPDATEtesttableSETval=%dWHEREid=1;SELECTSLEEP(5.5);",time.Now().Unix()))ifexecErr!=nil{log.WithE

amazon-web-services - 通过试运行 API 调用进行 AWS IAM 策略验证

我正在开发一种工具,它将IAM策略作为JSON并在aws上创建策略。我正在使用aws-sdk-go来构建该工具。我正在寻找一种方法,通过它我可以在aws上执行之前验证策略。AWS是否提供某种API来试运行策略创建或类似的东西?我尝试过的事情:我正在按字段验证政策。Effect字段必须是Allow或Deny对于Action字段,我在我的工具中添加了一个字典,用于将服务映射到有效的操作。这种方法的问题是它需要大量维护。AWS不断发布新的服务和操作,我必须更新字典。对于资源,它应该是有效的ARN。添加了一些其他验证,但手动添加所有验证检查真的很困难。我相信,aws必须为政策提供某种试运行工具

go - 通过简单的乒乓测试对 channel 进行基准测试

我有一个简单的2文件go应用程序。我正在尝试对2个channel上的ping和pong消息进行基准测试。目标是运行基准测试以查看可以完成多少来回ping和pong(这就是为什么我要通过这些尝试,以便基准测试可以在不同的输入下继续运行)出于某种原因,它只在我运行时才在本地显示:gobuild./main输出:pingpongpingpongpingpongpingpongping为什么迭代这么少就结束了?主.gopackagemainimport("fmt")funcmain(){PingPong(1000)varinputstringfmt.Scanln(input)fmt.Print

go - 如何使用 gocenter remote Artifactory repo 进行本地依赖解析?

我是新手,正在尝试使用gocenter远程存储库(Artifactory6.8)来解决依赖关系。尽管设置了GOPROXY环境变量,但我的gocenter-cache存储库仍然是空的。这是我的代码。packagemainimport("fmt""github.com/naoina/go-stringutil")funcmain(){varstrstring="hello_world_go"fmt.Println(stringutil.ToUpperCamelCase(str))//printsHelloWorldGo}我试图解决的依赖关系在这里:https://search.gocent

go - 如何在 go 中对 gRPC 服务进行单元测试

我在对gRPC服务进行单元测试时遇到困难。我看了TestingagRPCservice但它对我不起作用,不确定我做错了什么。Add方法的gRPC服务实现:typeserverstruct{}funcmain(){listener,err:=net.Listen("tcp",":4040")iferr!=nil{panic(err)}srv:=grpc.NewServer()service.RegisterMathOpServiceServer(srv,&server{})reflection.Register(srv)ife:=srv.Serve(listener);e!=nil{pa