草庐IT

克服内部异议

全部标签

go - 在 golang 中定义和访问结构内部的映射字段?

假设我有一个名为Test的结构,typeTeststruct{Value1int`json:"value1"`Value2int`json:"Value2"`Peoplemap[string]string`json:"Value3"`Timeupdatestring`json:"Timeupdate"`}people变量是键值对的集合。我如何定义和访问结构中的人员?varobject=Test{Value1:arg1,Value2:arg2,People:args3,Timeupdate:time.Now().String()}如何定义和访问此对象中的人员?

variables - 无法访问函数内部的全局变量

这个问题在这里已经有了答案:Howtouseglobalvaracrossfilesinapackage?(3个答案)关闭4年前。我有以下代码:packagemainimport("net/http""log""net""fmt""os""encoding/json")constconfigNamestring="config.json"typeConfigstruct{UDPServerAddressstringHTTPServerAddressstring}varconfigConfigfuncUDProutine(querystring,chchan在我的config.json{

go - 我应该如何构建一个 Go 模块以便能够轻松运行它并导入内部包?

我刚刚发现了Go。当我上周开始研究它时,我发现了GOPATH以及Go显然对你存储代码的目录非常固执己见。所以我诅咒谷歌的名字并决定Go不适合我,然后最近听说了Go模块和他们很明显地解决了这个问题。问题是关于如何构建基于模块的Go项目的在线信息似乎非常稀少。我无法弄清楚如何布置我的代码以及如何调用包以使导入工作。我尝试了各种方法并查看了示例,但无论我做什么,我都会收到“未知导入路径”错误。基本上我想要一个包含main.go和library.go的目录,也许在一个目录中包含library.go子目录。我希望能够在main.go中编写importlibrary或类似的东西,并能够访问libr

pointers - 如何访问结构字段,它是结构内部的指针,结构本身就是一个指针

在我下面的代码中,为什么*bikeSlice[0].Type返回给我的是Type字段的值而不是内存地址?为什么*bikeSlice[0]返回{Type:0xc0000641c0}虽然*bikeSlice[0].Type似乎自动取消引用类型字段?packagemainimport"fmt"typeBikestruct{Type*string}funcmain(){type1:="road"bike1:=Bike{Type:&type1,}type2:="mountain"bike2:=Bike{Type:&type2,}varbikeSlice[]*BikebikeSlice=appen

go - 内部有不同结构的结构类型 slice

我正在尝试在下面创建以下json,但我没有得到它:json{"richResponse":{"items":[{"simpleResponse":{"textToSpeech":"foo1","displayText":"foo2"}},{"basicCard":{"formattedText":"foo3","imageDisplayOptions":"CROPPED"}}]}}问题是我有一个名为Items的[]struct(结构片段),它有2个不同的结构SimpleResponse和BasicCard并且我无法装载此json。错误出现:cannotuseliteralSimpleR

go - 从结构内部的指向 float32 的指针获取值?

我正在从数据库中提取一些数据-我有一个指向float32的指针-因为如果我使用指针-那么我能够检查它是否为nil(通常可能是nil)。当它不是nil时,我想获取值-如何取消引用它以便获取实际的float32?我实际上无法在任何地方找到该链接!我确切地知道我想做什么,只是找不到Go中的语法,我对它还是很陌生-感谢所有帮助。如果它是一个直接的float32,我知道如何取消引用指针...但是如果我有以下结构...typeMyAwesomeTypestruct{Value*float32}然后在我这样做之后:ifmyAwesomeType.Value==nil{//Handletheerror

go - 使用该结构的内部函数检查映射中是否存在值

我有这个结构typeZonesmap[uint64]Zone我想有一种方法可以在该映射中找到一个值,就像这样。func(z*Zones)findById(iduint64)(Zone,error){ifzone,ok:=z[id];ok{returnzone,nil}else{returnzone{},errors.New(fmt.Sprintf("Zone%dnotfound",id))}}但是在这一行中:ifzone,ok:=z[id];ok{我收到这个错误:Assignmentcountmismatch:2=1.有很多链接表明我们可以使用该行检查map中是否存在某个值,我不知道发

json - 在 Go 中获取内部 JSON 值

一个简单的问题,我在如何构建用于JSON解码的结构时遇到困难。如何将结构的内部字段复制到结构的另一个字段?我有JSON{"Trains":[{"Car":"6","Destination":"SilvrSpg","DestinationCode":"B08","DestinationName":"SilverSpring","Group":"1","Line":"RD","LocationCode":"A13","LocationName":"Twinbrook","Min":"1"}]}我有结构typeTrainsstruct{Minstring`json:"Min"`DestNam

go - 我怎样才能克服 Golang 要求每个包都包含可构建代码的要求?

我正在用Go构建一个Web应用程序,作为它的一部分,我定义了几个中间件函数。现在他们都住在“我的/中间件”包中。该命名空间被我定义的所有不同函数变得非常困惑,所以我决定将它们全部放在它们自己的子目录中,例如“我的/中间件/gzip”。当我这样做时,出现错误:nobuildableGosourcefilesmy/middleware我不希望所有这些函数都在同一个命名空间中,但似乎我唯一的选择是在my/middleware目录中创建一个占位符.go文件,其中包含一个空的init函数或其他东西。这听起来很糟糕,所以我想就如何在父包中没有任何共享/公共(public)代码时实现将类似类的包分组

mongodb - 过滤集合但按内部属性排序

考虑到我有如下的文档集合,我想获取如下返回的信息:从campaignID=12的事件中选择所有条目,按entries.questionscorrect降序排序,限制为10。我已经对一些查询进行了尝试,但我似乎陷入了这样一个事实,即我在一个级别上进行选择,但想在较低级别(即属性)上订购。这是我目前所拥有的:db.getCollection('main').find({"id":4},{"entries":1}).sort({"questionscorrect":-1}).limit(2)请问我如何用Go(Mgo)语法或直接的MongoDB查询来编写它?我不断收到返回的信息,但按数量排序{