为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 golang 中的 for 循环中返回所有值

如何在 golang 中的 for 循环中返回所有值

Go
千巷猫影 2022-12-13 10:40:32
在 python 中,我可以返回我在数组中附加的值valuesinPy= []for i range(len(value)) :   valuesinPy.append(value[i])return valuesinPy   它能够返回我想在 golang 中附加的所有值valueappend =make(map[strig]string)for i :=range value{    valueappend['abs']=value[i]}return  valueappend  都是一样的 但是返回的值是一样的 我搞糊涂了问题修复我使用map [string]interface{}{} I less one struct of slicevalueappend:=map[string]interface{}{}for i :=range value{   valueappend= append(valueappend, map[string]interface{}{        "valueIwant append" value[i] :     }}return valueappend
查看完整描述

2 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

我可以看到的一个问题是您使用的密钥在循环的所有迭代中都是相同的


valueappend['abs']=value[i]

这将覆盖所有以前的值,您将只保存循环中的最后一个值。最后你会得到一张只有一个值的地图。我猜这不是你想要的。Use 可以为每次迭代使用一个唯一的键,如下所示,或者沿着同一行的其他东西


for i := range value {

    valueappend[i]=value[i]

}

@范纪予请添加更多信息并阐明您要在此处实现的目标。


查看完整回答
反对 回复 2022-12-13
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

您可能需要在每次执行循环时更改地图的值,否则来自的每个值都value[i]将继续写入地图中的同一字段,留下 i 的最后一个值作为地图中的唯一值



查看完整回答
反对 回复 2022-12-13
  • 2 回答
  • 0 关注
  • 143 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信