开发者社区> 问答> 正文

go程序中for 循环range打印的值不正确

package main

import "fmt"

var pow = []int{1, 2, 4, 8, 16, 32, 64, 128}

func main() {
	for item := range pow {
		fmt.Println(item)
	}
}

运行结果

0
1
2
3
4
5
6
7

我的预期应该是

1
2
4
8
16
32
64
128

展开
收起
水果黄瓜 2021-10-24 09:12:51 601 0
1 条回答
写回答
取消 提交回答
  • 可以把代码改成如下,因为range返回是两个值,一个索引,一个值

    package main
    
    import "fmt"
    
    var pow = []int{1, 2, 4, 8, 16, 32, 64, 128}
    
    func main() {
    	for _,item := range pow {
    		fmt.Println(item)
    	}
    }
    
    2021-10-25 22:55:09
    赞同 展开评论 打赏
问答分类:
Go
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Go语言路上踩过的坑 立即下载
gohbase :HBase go客户端 立即下载
Go构建日请求千亿级微服务实践 立即下载