草庐IT

map_num_to_struct

全部标签

sorting - 如何防止 map 排序?

我有一张map{"m_key":123,"z_key":123,"a_key":123,"f_key":123}当我试图从它制作一个json并打印它时,我的json变成按键排序,我得到json:{"a_key":123,"f_key":123,"m_key":123,"z_key":123} 最佳答案 要回答原始问题,请使用有序mappackagemainimport("encoding/json""fmt""github.com/iancoleman/orderedmap")funcmain(){o:=orderedmap.New

go - 如何从 map 中获取 key

我正在研究go模板。在中有一些映射。只要我知道key,我就知道如何获取值。"Mapvalue:{{printf"%s".key1}}"如何从模板中获取键名?我希望可能是这样的"Mapkey:{{printf"%s"(keys.)[0]}}" 最佳答案 正如@Adrian评论的那样:{{range$key,$val:=.}}key:{{$key}};value:{{$val}}{{end}}但仅从rangedocumentation很难算出来 关于go-如何从map中获取key,我们在St

struct - 如何从函数访问结构的实例字段?

假设我有一个Graph结构,如下所示:typeGraphstruct{nodes[]intadjListmap[int][]int}//somemethodsonthestruct//constructorfuncNew()*Graph{g:=new(Graph)g.adjList=make(map[int][]int)returng}现在,我创建了该结构的一个新实例,其中:aGraph:=New()。如何访问Graph结构(aGraph)的这个特定实例的字段?换句话说,我如何访问aGraph版本的nodes数组(例如,从另一个顶级函数中)?非常感谢任何帮助!

戈朗 : Is there a way to modify one of the multi-value return parameters in one line?

我正在尝试在Go中做一些相对简单的事情——将字符串转换为整数,然后将其加倍:myInt,_:=strconv.Atoi(args[1])doubleArg:=myInt*2由于Atoi()返回两个参数(整数和err),我使用myInt,_:=来检索值的整数。我想将它加倍(因此是第二行)但不能在一行中完成所有操作:myInt,_:=strconv.Atoi(args[1])*2给我:multiple-valuestrconv.Atoi()insingle-valuecontext但是,根据我使用大多数其他语言的经验,必须在两行中执行此操作似乎有很多样板。这只是我必须处理的一个限制,还是有

dictionary - 如何从使用接口(interface){}键入的 golang map[string] 字符串中提取值

这个问题在这里已经有了答案:ExplainTypeAssertionsinGo(3个答案)AccessingNestedMapofTypemap[string]interface{}inGolang(2个答案)Typed,nestedmapofmap[string]interface{}returns"typeinterface{}doesnotsupportindexing"(1个回答)getvalueformnestedmaptypemap[string]interface{}(2个答案)howtoaccessnestedJsonkeyvaluesinGolang(3个答案)关闭3

list - map slice 的 map

Closed.Thisquestionneedsdebuggingdetails。它当前不接受答案。想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。去年关闭。Improvethisquestion我有一个返回HTTP响应的函数的以下代码片段:res:=make([]map[string]interface{},0)ford:=rangeChannel{ifd.Error!=nil{returnd.Error}res=append(res,d.Data.(map[string]interface{}))}returnc.JSON(http.StatusOK,res)

go - 如何使用 map 中的值

这个问题在这里已经有了答案:Howtogetavaluefrommap(2个答案)Getanarbitrarykey/itemfromamap(8个答案)关闭3年前。我想使用我创建的map中的值乘以输入给出的天数。我只是不知道如何扫描map中存储的值。packagemainimport"fmt"funcmain(){typeCar:=map[string]int{"audi":50,"volvo":100,"tesla":300,}fmt.Print("howmanydayswouldyouliketorent?:")vardaysintfmt.Scanf("%d",&days)fmt

go - 无并发时的并发map读写

关闭。这个问题需要debuggingdetails.它目前不接受答案。编辑问题以包含desiredbehavior,aspecificproblemorerror,andtheshortestcodenecessarytoreproducetheproblem.这将有助于其他人回答问题。关闭5年前。Improvethisquestion以下goplay示例以简单的方式显示了我所定义的内容。我将映射作为复制值传递给函数(不是引用),并且我的函数中有一个递归,我假设它也是按值传递的。https://play.golang.org/p/na6y6Wih4M//thisfunctionhasn

go - 看不到 struct Golang 的公共(public)函数

我没有看到我定义的结构的公共(public)方法。有人可以让我明白为什么吗?这是代码://DataSaver.go:packageDataStorageimport("fmt""os")typeDataSaverstruct{//doesn'trelevanttomyquestionfileNamestringfile*os.File}funcPrintStr(){fmt.Println("hello")}然后,我在其他类中有一个主要方法。我初始化了结构,我想调用PrintStr()函数。但是,我无法调用此方法。为什么?谢谢! 最佳答案

go - 循环包含 map[int]*somepointer 的 interface{}

我必须处理大量带有int键的映射,这些键包含指向不同数据类型的指针。我需要一个函数(而不是每种map类型10个函数)来遍历这些map并获取最大和最小键值。 最佳答案 使用reflect包对具有整数键和任意值类型的映射进行操作:funcgetMaxKey(inoutinterface{})int{keys:=reflect.ValueOf(inout).MapKeys()iflen(keys)==0{return0}max:=keys[0].Int()for_,key:=rangekeys[1:]{n:=key.Int()ifn>ma