Go学习笔记——变量定义

222 阅读1分钟

Go 语言定义变量的关键字是var

var  variableName variableType

Go语言变量定义的变量名不需要 手动进行初始化,运行时内存分配操作会确保变量自动初始化为二进制零值(zero value)

例如:

var a int   // a  此时为0
var s string  // s 此时为''
var isb bool   // isb  此时为false

如果我们定义变量的时候手动进行初始化,此时无需声明变量类型,编译器会自动推断。

例如:

var a = 7  //此时a为int类型
var s = "abc" // 此时s为string类型

当需要一次定义多个变量时,可以采用以下方式:

var (
    a = 8
    b = 9
    c = true
)

同时对多个变量定义并赋值

Go 语言可以一次对多个变量进行定义 并赋值

var a, b int  = 5,9 //此时 a = 5 , b = 9 ,a,b均为int类型
var a,b,c = 7,"nmkhs",false // 此时 a 是int类型,b 是string类型,c是bool类型。

多变量赋值的时候,首先计算出所有右边的值,然后再依次对左边的值进行赋值。

a, b := 6, 8
a, b = b+9, a+8
fmt.Println(a, b) //17 14

简化定义

除了用var关键字之外,我们也可以简写为:

a := 9

但是简写模式的定义需要满足一下特点:

1.进行显示初始化。
2.不可以声明变量类型。
3.只能在函数内定义。

ps:定义时,使用var和简写的区别:

var可以在包内定义,也可以在函数内定义,但是 简写定义只可以应用在函数内。

未使用变量报错

在Go语言中,不可以存在不使用的变量,否则会报出错误。

*** declared but not used