-
我有一个项目的情况。当我在GOPATH外部使用go模块和在GOPATH内部使用“goget”时,它的行为有所不同。在这两种情况下,构建都不会出现错误。但是GPRC连接的行为有所不同。在“gomod”情况下给出超时,与“goget”一起工作正常。我怀疑go使用不同的软件包集。我需要使用两种模式下版本的已用软件包的完整列表进行比较。我怎样才能访问它?
-
我正在编写将字节流反序列化为对象的代码,但我一直在获取结构体字段的指针。代码的工作原理基本上如下:它获取指向结构的指针,然后根据它序列化它的类型,例如。如果它是一个整数,则占用接下来的4个字节。棘手的情况是,如果它是一个结构体,因为我必须对其所有属性递归运行反序列化,并且我不知道如何获取其字段的地址以将它们传递给反序列化。funcDeserialize(objPtrinterface{},b[]byte)(bytesReadint){//itshouldbeth
-
我正在尝试向graphql端点发送请求。我的问题是varjsonstr=[]byte(`{"query":"query{viewer{login}organization(login:"org"){description}}"`)req,err:=http.newrequest("post",url,bytes.newbuffer(jsonstr))返回“解析json时出现问题”和varjsonStr=[]byte(`{"quer
-
我正在制作一个程序来备份我的Minecraft服务器。问题是,我不能让服务器在备份时离线。服务器写文件时进行备份会不会出现问题?如果是,有什么解决办法吗?此外,mariadb也将包含在备份中。
-
我想验证一个图像网址,我的代码将接受具有http和https的图像网址(如果存在任何其他不被接受的网址),例如:-fncmain(){varurl1,url2,url3stringurl1="/image.png"//notacceptedurl2="http://abc/image.jpg"//acceptedurl3="https://abc/image.jpg"//accepted}此验证使用什么正则表达式?
-
假设我有一个基本结构,它是其他两个结构的组合:typeconfigstruct{common.configcommon.serverconfigapipathstring`type:"string"name:"apipath"default:"localhost:8443"desc:"pathtothegrpcapiserver"`servepathstring`type:"string"name:"servepa
-
即使阅读了以下文章,我也不完全理解docker的run--mount=type=cache机制,https://docs.docker.com/build/cache/https://vsupalov.com/buildkit-cache-mount-dockerfile/dockerbuildx构建中--cache-to/from和--mounttype=cache之间的区别mount=type=cache更深入的解释https://github.com/moby/
-
我需要在二进制文件中包含一些生成的文件(例如go-swagger的输出)。如果没有bazel,您可以使用go:generate与go:embed结合使用:packagedemo//go:generateswaggergeneratespec-w.-o./openapi.jsonimport"embed"//contentcontainsopenapi.jsonfilegeneratedviago-swaggerfromspec//go:emb
-
我正在尝试批量删除minio中的对象,如下所述:objectsCh:=make(chanminio.ObjectInfo)//SendobjectnamesthatareneededtoberemovedtoobjectsChgofunc(){deferclose(objectsCh)//Listallobjectsfromabucket-namewithamatchingprefix.forobject:
-
根据golang网站上的说明安装golang后,我使用exportPATH=$PATH:/usr/local/go/bin设置路径,每当我使用命令$HOME/go时它说bash:/home/ken/go:没有这样的文件或目录我可以验证go是否已安装,我什至重置了我的计算机以确保更改发生。有人知道我可以做些什么来解决这个问题吗?我错过了什么吗?
-
我想使用go从sqs向aws发送请求。有使用v2sdk中的sqs.sendmessageinput在单事件模式下执行此操作的示例,但我想改为批量发送。我创建了一个接口来从代码的其余部分中抽象出实现细节,大致如下:typeuserrepositoryinterface{save(context.context,user)error}正如您所看到的,该接口不是sqs特定的,可以很容易地被替换,例如postgres实现。我真的很想保持界面尽可能干净。使用
-
我有一个goroutine,我们称之为goprocessor,它处理来自其他goroutine的请求。goprocessor一次只能处理一个请求。如果当goprocessor仍在处理之前的req1请求时,出现一个请求(我们称之为req2),则req2必须被丢弃并且将被丢弃。简直就输了。我已经使用无缓冲通道和select语句实现了这样的逻辑,但我不确定是否有一种更简单更优雅的方法来完成我想要的。我的解决方案的一个简单示例是这样的varc=make(chanstrin
-
我检查了excelize包,有ProtectSheet函数。然而,这只能保护工作表免遭更改等,而不能防止未经授权的访问。我寻找了其他几个选项/包,但它们似乎没有提供此类功能。我知道最终我仍然可以使用zip密码保护Excel文件,但能够保护工作簿本身会更好。
-
我有这段代码,我不喜欢这种感觉,更不用说golint不喜欢它与error应该是返回多个项目时的最后一个类型(golint)。解释一下这段代码:我想让用户决定是否关心返回的任何错误特别是在此代码中,有时不需要或不需要音频文件,可以忽略它无论用户在做什么,都可能始终需要视频和输出文件我愿意以任何方式重构它(无论是分解它、移动东西等等)。go中是否有更惯用的方式来完成这样的事情?//downloadwilldownloadtheaudioandvideofiles
-
我正在尝试使用docker-compose容器化并启动我的golang应用程序,根据日志,图像已成功构建,但我的容器不适用于docker-composeup,并且它会向我的控制台抛出以下错误。无法启动服务应用程序:oci运行时创建失败:container_linux.go:346:启动容器进程导致“exec:\”go\”:在$path中找不到可执行文件”:未知这是我的docker文件的样子。ARGGO_VERSION=1.13FROMgolang: