用golang初始化一个整数从0到N的切片

9

我几乎可以确定我曾经读过一种简单而“棘手”的方法来初始化一个整数切片,其中包含从0到N的数字,但我现在找不到它了。

最简单的方法是什么?


只是一个想法,“iota”可能是你记得的,尽管这是用于const的,我不知道如何在切片上使用它。 - miltonb
1个回答

13

您只需使用传递N作为长度,然后使用简单的for循环设置值...

mySlice := make([]int, N)
for i := 0; i < N; i++ {
      mySlice[i] = i
}

这是一个有关play的完整示例;https://play.golang.org/p/yvyzuWxN1M


我是否读到了其他语言中一行完成此操作的方法?我是Go的新手。 - gsf
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - evanmcdonnal
5
我认为使用range更好:for i := range mySlice { mySlice[i] = i } - Darigaaz
1
@evanmcdonnal,你让软件工程听起来如此紧张。你所谈论的所有重要方面都有其存在的意义,但也有一个享受自己所做事情的地方。如果对某些人来说,这意味着用他们使用的语言以最优雅的方式表达事物,那就这样吧。这不会比你可能拥有的任何其他爱好(比如看可爱的小狗图片)对你的项目造成更多“伤害”。 - gsf
4
根据我的经验,bug通常是由于只更改了答案中的一个“N”而忘记更改另一个“N”等微小错误引入的。 - Chris Drew
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接