草庐IT

map_values

全部标签

performance - 为什么我在使用范围时看到某些尺寸的 map 速度变慢?

在我的计算机上,当我访问特定大小的map时,我看到每秒读取量下降,但它不会以线性方式降低。事实上,性能会立即下降,然后随着大小的增加缓慢恢复:$gorunmap.go4259841425985273578wps::18488800rps227909wps::1790311rps$gorunmap.go40000010000500000271355wps::18060069rps254804wps::18404288rps267067wps::18673778rps216442wps::1984859rps246724wps::2461281rps282316wps::3634125rp

reflection - 在 go 反射包中,调用 Value.Kind() 是 Value.Type().Kind() 的语法糖吗?

两个reflect.Type接口(interface)和reflect.Valuetype实现相同的Kind()方法签名,假设我们有一些值对象v:=reflect.ValueOf(x)v.Kind()只是调用v.Type().Kind()吗? 最佳答案 它们包含相同的值,但似乎指的不是同一件事:type.go来源value.go来源Type通常由未导出的结构rtype实现(通过TypeOf),而Value包含一个*rtype并扩展flag,它本身是Kind的简化形式://flagholdsmetadataaboutthevalue.

map - 在 Go 中清除具有指针值的映射

我有一个map[string]*list.List并且每个列表节点也是一个指针。通过简单地将map清除为nil,所有map和列表以及所有这些指针是否都会被清除并收集垃圾并准备好再次使用?typeUnrolledGroupstruct{nextints[]uint32}vardictionary=struct{mmap[string]*list.Listkeys[]string}{m:make(map[string]*list.List)}l:=list.New()newGroup:=UnrolledGroup{next:1,s:make([]uint32,groupLen)}newGr

for-loop - GO:使用for循环添加到 map

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion我一直在尝试使用golang中的for循环添加到map,但我一直无法这样做。谁能举一个简单的例子说明如何做到这一点?谢谢!

pointers - Go:获取 map 成员的地址

有人可以解释为什么r包含两个完整的相同地址吗?r:=make([]*Result,len(m))i:=0for_,res:=rangem{fmt.Println("index,result:",i,*&res)r[i]=&resi++}fmt.Println(r)结果:index,result:0{[]map[0:11:1]{port=6379}}index,result:1{[]map[0:11:1]{port=6380}}[0xc21010d6c00xc21010d6c0] 最佳答案 使用*Result作为映射值。例如,pack

go - 将 map 初始化为 Go 结构中的字段

我有:typeFoostruct{NamestringHandsmap[string]string}aFoo:=Foo{Name:"Henry"Hands:???????}我想为“Hands”设置一些值,但语法不正确。例如,我想使用如下map:"Left":"broken""Right":"missingthumb" 最佳答案 Foo{Name:"Henry",Hands:make(map[string]string),}aFoo.Hands["Left"]="broken"//orjustFoo{Name:"Henry",Hand

json - 从 relfect.Value 编码 JSON

在encoding/json下,它使用relfect编码结构。但是我如何编码已经是一种reflect.Value的东西查看下面的代码:typePersonstruct{Namestring`json:"name"`Pwdstring`json:"pwd"`}funcmain(){factory:=map[string]reflect.Type{"Person":reflect.TypeOf(Person{}),}s:=reflect.New(factory["Person"]).Elem()s.Field(0).SetString("Max")s.Field(1).SetString(

go - 使用 reflect 设置 struct of struct values 的值

我有一些看起来可以工作但最终什么也没做的代码:http://play.golang.org/p/TfAWWy4-R8有一个结构,该结构具有结构类型的字段。内部结构具有所有字符串字段。在循环中使用反射,想要从外部结构中获取所有结构字段。接下来,填充内部结构中的所有字符串值。示例代码从标签中获取文本并在“,”上对其进行解析,以获取内部循环的字符串值。这是应该创建内部结构并将解析的数据添加到字符串值的主要部分。t:=reflect.TypeOf(Alias{})alias=reflect.New(t)fori:=0;i当您查看示例的输出时,它看起来像是在工作,但是在从外部结构打印一个值之后,

go - 创建一个包含 map 的 slice

这个问题在这里已经有了答案:NesteddatastructuresinGo-Pythonequivalent(2个答案)关闭8年前。我正在尝试创建一个数据结构,其中包含一个包含map的slice。这就是我所拥有的:data:=map[string]interface{}{"Offset":"0","Properties":[]string{},"Category":"all","Locations":[]string{},"Accounts":"100"}我需要“properties”元素来包含如下所示的map:{"key":"Type","value":"User"}这似乎比它应该

google-app-engine - App Engine 数据存储区 : How to set multiple values on a property using golang?

我正在尝试使用Golang为Google数据存储中的单个属性保存多个值。我有一片int64,我希望能够存储和检索它。从文档中我可以看到通过实现PropertyLoadSaver{}接口(interface)支持这一点。但我似乎无法想出正确的实现方式。本质上,这就是我想要完成的:typePoststruct{TitlestringUpVotes[]int64`json:"-"xml:"-"datastore:",multiple"`DownVotes[]int64`json:"-"xml:"-"datastore:",multiple"`}c:=appengine.NewContext(