golang学习笔记――变量

变量:

golang中不存在没有初始化的变量数据,整形默认为0,字符型默认为空,指针默认为nil,结构体中的数据也会被初始化。

//var str string = "dfdfdf"
//var varuint8 uint8        //varuint8 =0 声明一个变量,默认为0
//var str string           //str="",默认为空
//fmt.Println(varuint8)
//str = "dfd"
str := "dsa"             //str为一个字符串,声明赋值同时完成
uintvar := 123456       //uintvar为一个整形变量
_ , b := 34, 35          //“_”为特殊变量,任何赋给“_”的值将会被丢弃
    
fmt.Println(b)         //输出35
fmt.Println(uintvar)  //输出123456
 fmt.Println(str)    //输出dsa
 
KeyPoint:
①、修改代码后需重新build后运行才能看到修改后的效果,直接运行不会看到修改后的效果,看到的是上一次的结果。。。
②、若声明了变量但未使用该变量会报错,程序不会执行该变量之后的代码
③、全局变量不能使用“:=”的形式,声明并赋值
 
 1、整形变量
 整形类型根据电脑的硬件决定适当的长度。意味着在32 位硬件上,是32 位的;在64 位硬件上是64 位的。注意:int 是32 或64 位之一,不会定义成其他值。uint 情况相同。
如果你希望明确其长度,你可以使用int32 或者uint32。完整的整数类型列表(符号和无符号)是int8,int16,int32,int64 和byte,uint8,uint16,uint32,uint64。byte是uint8 的别名。浮点类型的值有float32 和float64 (没有float 类型)。64 位的整数和浮点数总是64 位的,即便是在32位的架构上。

KeyPoint:不能给某一类型的整形变量赋值其他整形类型
Ex:

var varuint8 uint8
var varint   int

 varint = varuint8 + varuint8   //illegal

 varint = varuint8 + 5          //illegal

 varuint8 = varuint8 + 5        //This is ok


 2、常量

①、使用const关键字

②、不用指明是哪种类型

③、可使用iota创建枚举

Ex:

    const sd = 5            //整形常量
    const sdstr = "df"      //字符串常量
    const (
        cnum1 = iota        //cnum1 = 0
        cnum2               //cnum2 = 1
    )
    const (
        cnum3 = "djjf"      //cnum3=cnum4=cnum5 = "djjf"
        cnum4
        cnum5
    )
    const (
        cnumint1 = 1        //cnumint1=cnumint2=cnumint3 = 1
        cnumint2
        cnumint3
    )
    const (
        cnumstr1 = 1        //cnumstr1 = 1
        cnumstr2 = "dfd"    //cnumstr2 = "dfd"
        cnumstr3 = "djfj"    //cnumstr3 = "djfj"
    )


你可能感兴趣的:(golang)