草庐IT

http - Golang根据struct字段设置http响应码

在我正在编写的api中,我有一个错误结构,该结构编码为json。当api出现错误时,它返回结构,我将http响应代码设置为适当的值。typePodsErrorstruct{ErrorCodeint`json:"error_code"`CallingFunctionstring`json:"calling_function"`Messagestring`json:"error_message"`}typePodsErrorWrapperstruct{ErrorPodsError`json:"error"`}现在每次我写结构时我也会写一个头文件,但我不喜欢我看到的重复代码的数量。error

mongodb - 根据 Go 子文档中的字段对 mongodb 查询进行排序

假设我有以下结构typeTeststruct{Titlestring`bson:"title"json:"title"`UpdateUpdate`bson:"update"json:"update"`}typeUpdatestruct{Changes[]string`bson:"change"json:"change"`UpdatedAttime.Time`bson:"updatedAt"json:"updatedAt"`}假设我想按“update.updatedAt”对查询中的结果进行排序cs.Find(bson.M{title:"sometitle"}).Sort("-update

go - 根据json中的某个字段解析http json请求

我想使用encoding/json中的Decode()函数解码POST请求的传入JSON负载但是,我有一个情况,即同一http请求的JSON正文可能不同。我想根据嵌入在JSON中的字段来区分此正文。我如何在Go中提取这个奇异字段?例如,我想要以下逻辑-typeBaseObjstruct{Versionstring}typev1Objectstruct{BaseObjNamestring}typev2Objectstruct{BaseObjNamestringAddressstring}//Somehowextractthe'version'fromJSON(req.Body)ifver

dictionary - Go 中的索引表达式是否根据上下文更改其返回类型?

ifthemapcontainsanentrywithkeyx,a[x]isthemapelementwithkeyxandthetypeofa[x]istheelementtypeofM但是Anindexexpressiononamapaoftypemap[K]Vusedinanassignmentorinitializationofthespecialformv,ok:=a[x]yieldsanadditionaluntypedbooleanvalue.我还在学习围棋。它是融入语言的“语法特性”并且“仅在使用此语法时起作用”,即调用v:=a[x]和v,ok:=a[x]在AST中表示

go - 根据字符在字符串中的位置获取字符

这个问题在这里已经有了答案:Accessrandomruneelementofstringwithoutusingfor...range(1个回答)关闭4年前。packagemainimport("fmt"_"math""unsafe")funcmain(){vars1="한글"fmt.Println(s1[0]);}我想提取像s1[0]这样的字符串元素。但是我没有得到正确的元素。刚刚返回的号码。我不知道这个数字的含义。我认为有一个库是unicode/utf8。但我不知道如何使用它从元素中获取正确的值。我想提取'한'这个词。你能帮助我如何转换吗?

go - 根据 Go lang 中的类型处理案例的更好方法

我是Go语言的新手,我可以使用一些关于如何重构代码的建议。我所要做的就是取决于Sarama的成功或错误(ApacheKafka正在进行中)我需要进一步记录和转发它。到目前为止,我的代码看起来像这样gofunc(){forerr:=rangeproducer.Errors(){batchID:=err.Msg.Metadata.(ackMeta).batchID#noticethestructherestatusChan:=err.Msg.Metadata.(ackMeta).statusChanstatusChan我认为我可以做得更好,将整个事情包装在一个函数中,但到目前为止,除了使用

mongodb - 如何根据带有整数键的嵌套数组中的值查找文档?

我的查找查询如下所示:bson.M{"_id":oId,"items":bson.M{"$elemMatch":bson.M{"id":theId,"active":true}}}(其中theId是方法中的对象ID)我要做的是选择一个具有匹配id且active设置为true的文档{"_id":ObjectId("5ca0e44acb216df65405dc5f"),"items":{"0":{"id":ObjectId("5c9fbb25e86deef65491c321"),"active":true},"1":{"id":ObjectId("5c9fbb57cb216df65405d

go - 根据另一个 slice 中元素的顺序对 slice 进行排序

我正在尝试根据另一个slice中元素的顺序对一个slice进行排序。当我想要订购的slice中只有一种类型时,我的排序功能有效,但是当我开始添加更多元素时,订购中断。我在Golangplayground中创建了一个示例。https://play.golang.org/p/e9sHIeV2qSf我想按代码字段对我的变体slice进行排序,并使其与代码在语言结构中出现的顺序相同。下面是我使用的排序函数:sort.Slice(variants,func(i,jint)bool{fork,language:=rangelanguages{iflanguage.Code==variants[i]

Golang http 服务器根据内容类型返回 html 或 json

我正在尝试使用gorillamux在Golang中编写简单的RESTful应用程序。我写了几个如下所示的处理程序:funcgetUser(whttp.ResponseWriter,r*http.Request){ifr.Header.Get("Content-type")=="application/json"{w.Header().Set("Content-Type","application/json")u,err:=_getUser(r)iferr!=nil{http.NotFound(w,r)return}json.NewEncoder(w).Encode(u)//askedf

根据 map[string]somestruct 调用 golang 调度方法

假设我有很多带有接收器的函数或方法,每个函数或方法都有不同类型的参数。我想使用表驱动方法来调度函数或方法调用。所以我将构建一个这样的表:typecommandstruct{namestringhandlerfunc(parameter...interface{})//Idon'tknowwhethertouse`...interface{}`iscorrect}table:=map[string]command{...}func(ccommand)foo(f1int,f2string){}func(ccommand)bar(b1bool,b2int,b3string){}//metho