Go语言入门二.变量定义和注意要点

1.go语言定义变量的三种格式,

标准格式

        var 变量名 数据类型  = 值

        可以定义时赋值,也可以先定义后赋值

                var 变量名 数据类型 

                       数据类型=值

自动推导类型格式

        var 变量名 =值

简短格式

        变量名 :=值

2.连续定义

package main
import "fmt"
func main(){
    var num1,num2 int//先定义后赋值
    num1=10
    num2=20

    var num3,num4 int =30,40 //定义时赋值
    var num5,num6 =50,60     //省略类型
    num7,num8 :=70,80        //省略关键字和类型

    fmt.Println(num1,num2,num3,num4,num5,num6,num7,num8)

}

3.变量组

package main
import "fmt"
func main(){
    var(//先定义
        num1 int
        num2 float32
    )
    num1=10
    num2=2.22
    
    var(//定义时赋值
        num3 int=30
        num4 float32 =4.44
    )
    
    var(//定义赋值并省略类型
        num5 =30
        num6 =6.66 
    )

    var(//一行定义多个
        num7,num8 = 70,80
        num9,num10 = 9.99,10
    )

}

4.注意要点

        1)简短模式的含义是定义并初始化 

        2)不要把:=当做赋值运算符来使用

        3):=只能用于定义局部变量,不能定义全局变量

        4)使用:=定义变量时,不能指定var关键字和数据类型 

        5)变量组不能使用:=

        6)使用:=同时定义多个变量,必须给所有变量初始化

        7)通过:=同时定义多个变量,只要任意一个变量没有定义过都会做退化赋值操作

        8)定义的局部变量或者导入的包没有被使用,那么编译器会报错,无法编译运行,但是定义的全局变量没有被使用编译器不会报错,可以编译运行

package main
import "fmt"
var num = 1//定义一个全局变量

//3.:=只能用于定义局部变量,不能定义全局变量
num2 :=2 //编译报错
func main(){
//2.不要把:=当做赋值运算符来使用
    num := 10//定义一个局部变量

//1.简短模式的含义是定义并初始化 
    num := 20//编译器报错,重复定义

//4.使用:=定义变量时,不能指定var关键字和数据类型 
    var num3 :=10//编译报错
    var num4 int :=10//编译报错

//5.变量组不能使用:=
    var(
        num5 :=10 //编译报错
    )

//6.使用:=同时定义多个变量,必须给所有变量初始化
    num6,num7 :=666,777 //正确
    num8,num9 :=888 //报错

//7.通过:=同时定义多个变量,只要任意一个变量没有定义过都会做退化赋值操作
    num,num10 := 20,100
    

}