代码改变世界

go语言之 iota <<

2017-09-19 09:52  dribs  阅读(396)  评论(0)    收藏  举报
[root@test learn_go]# cat iota_learn2.go 
package main

import "fmt"

const (
    i = 1<<iota  //iota:1
    j = 3<<iota  //iota:2
    k            //iota:3
    l            //iota:4
)

func main(){
    fmt.Println("i=",i,"1*2^0=1")
    fmt.Println("j=",j,"3*2^1=6")
    fmt.Println("k=",k,"3*2^2=12")
    fmt.Println("l=",l,"3*2^3=24")
}


/*ret:
i= 1 1*2^0=1
j= 6 3*2^1=6
k= 12 3*2^2=12
l= 24 3*2^3=24
*/

 http://blog.163.com/huv520@126/blog/static/2776523920100313211221/

 

 

go从入门到放弃

写惯了python 发现还是python最优美易懂人性化,学了一天go发现全是坑,变量定义却未使用报错,后缀不是go报错,引入包未使用报错。。mmp,我写for循环应该是引用变量了,但是还是报错,发现for里面重新定义在引用,还得在for之外再使用一次。mmp

package main

import "fmt"

func main(){
    var a int

    for a := 0; a<10; a++ {
        fmt.Printf("a value is:%d\n",a)
    }

        fmt.Println(a)
}