代码如下:
package main
import "fmt"
func main() {
pow := make([]int, 10)
for i := range pow {
pow[i] = 1 << uint(i) //就是这里,1,10,100,1000……
}
for _, value := range pow {
fmt.Printf("%d\n", value)
}
}
输出结果是
1
2
4
8
16
32
64
128
256
512
位移当然是二进制运算,无论哪个语言都是啊,都是2^n啊。。
你要变成1,10,100....10000,那不能用位移啊,得用1*math.pow(10,i)啊。