草庐IT

map_values

全部标签

for-loop - 更新 map 中的键,同时遍历该 map

我想使用URL参数将key从一个名称更新为另一个名称。我有代码,但输出不正确。见下文。这是mapvardatamap[string][]string调用函数的PUT方法r.HandleFunc("/updatekey/{key}/{newkey}",handleUpdateKey).Methods("PUT")handleUpdateKey函数,它被记录下来并准确解释了它在做什么。funchandleUpdateKey(whttp.ResponseWriter,r*http.Request){params:=mux.Vars(r)k:=params["key"]//geturlpara

pointers - Go中如何使用map作为数据载体?

我不确定正确的术语,但我该如何使用它:typeMyTypemap[string]string作为“数据载体”(或OOP中的对象)?这不起作用:funcNewMyType()*MyType{returnmake(MyType)}我确实想使用指针,但显然这不起作用,编译器期望在返回时引用。 最佳答案 内置make()函数创建MyType映射类型的非指针值,但返回类型是指针。如果您尝试编译它,错误消息会告诉您:cannotusemake(MyType)(typeMyType)astype*MyTypeinreturnargument如果您

go - exec.Command 输出中的 "Bad value "

我的go语言程序打印“选项-n1的错误值,有效范围是从1到4294967295。”尝试使用以下代码片段进行ping操作时result,err:=exec.Command("ping","-n1","-w1",ip).Output()fmt.Printf("%s\n",result)在Win中从cmd执行时,即“ping-n1-w18.8.8.8”很好 最佳答案 您需要将-n和-w标志及其值分隔成单独的参数(您的shell已经这样做了):result,err:=exec.Command("ping","-n","1","-w","1"

go - 如何反转 golang map 中项目的顺序?

这个问题在这里已经有了答案:Collectvaluesinorder,eachcontainingamap(7个答案)关闭4年前。我是golang的新手,我想颠倒映射中对的出现顺序,以便最后一对排在第一位:mapA:=map[string]int{"cat":5,"dog":2,"fish":3,}fmt.Println(mapA)map[cat:5dog:2fish:3]生成的map应该是这样的:map[fish:3dog:2cat:5]它可以是一个新的mapB,具有相同的项目但顺序颠倒。我怎样才能做到这一点?

dictionary - 当键不在 map 中时不引发错误(如 Python)有什么好处?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭3年前。Improvethisquestion在Go中,设m是将string映射到int的映射对象,假设"foo"是不是m的键,则声明m["foo"]返回两个值0和false其中false暗示"foo"不是的键>米。你能举出一些go的属性有用的情况,例子吗?

去 map 查找返回元素的副本?

Go的map查找似乎返回了元素的副本。似乎无法在语言规范中找到这个描述。我写了一个program如下:类型T结构{nint}m:=make(map[string]T)t:=T{123}m["123"]=tt0:=m["123"]t1:=m["123"]t0.n=456t1.n=789fmt.Println(t,t0,t1)我得到的输出为:{123}{456}{789}。看起来每次都返回元素的副本? 最佳答案 Go永远不会传递引用。它要么传递值,在分配时制作副本,要么这些值可以是指针,在这种情况下,副本是指针的副本,这实际上是一个引用

dictionary - Go中的 map 初始化

据我所知,类型slice和map在Go中有很多相似之处。它们都是引用(或容器)类型。就抽象数据类型而言,它们分别表示数组和关联数组。然而,他们的行为却截然不同。vars[]intvarmmap[int]int虽然我们可以立即使用已声明的slice(附加新项或重新slice),但我们无法对新声明的map执行任何操作。我们必须调用make函数并显式初始化map。因此,如果某个结构包含映射,我们必须为该结构编写一个构造函数。所以,问题是为什么不能在声明映射时添加一些语法糖并同时分配和初始化内存。我确实用谷歌搜索了这个问题,学到了一个新词“avtovivification”,但仍然没有明白原因

arrays - String to Float64 : multiple-value strconv. 单值上下文中的 ParseFloat()

我有一个像这样的STRINGslice数组:[[header1header2startdateenddateheader3header4][item110001/01/201702/01/20175343340.563433.77252223956][item255401/01/201702/01/201722139.46120138817.232284405]]请记住,数组不断增加。我只是发布一个示例数组。现在我将一些float转换为字符串,以便我可以将其附加到字符串slice。但是,我需要用这些数字做一些数学运算。我想将第二个slice中的字符串编号(5343340.56343)添

go - 从文件解析数据时大小不同的 map

我正在为受thisproject启发的Nagios构建API.我已经开始重新创建读取status.dat文件并将数据存储在许多对象中的代码,这些对象随后用于创建主机、服务、信息字典,这些信息字典位于core.py文件中。下面是我的Go版本的python代码,它似乎按预期工作。它仍处于早期阶段,因此对于任何编码错误做法,我深表歉意。varmu=&sync.RWMutex{}funcopenStatusFile()*os.File{file,err:=os.Open("/usr/local/nagios/var/status.dat")iferr!=nil{}returnfile}func

Foreach 从 map 开始

我有一个小问题要问你们!如何foreachjson文件中的每个元素?json:{"keywords":"keywords1","social":[{"url":"test1","title":"test1"},{"url":"test2","title":"test2"}]}还有这个:packagemainimport("fmt""encoding/json""io/ioutil")funcmain(){configFile,_:=ioutil.ReadFile("config.json")json.Unmarshal(configFile,&person)//foreach["soc