Go的100天之旅-03变量

变量介绍

变量这个词来源于数学,相似方程中的x、y,表明的是存储在计算机中的值。这里主要介绍Go和其它编程语言不同的地方,在前面咱们提到过,Go是一门静态语言。静态语言区别动态语言一个重要的特性就是变量的类型不可变,通常是在声明的时候就指定类型,以后就不可修改它的类型,而动态语言能够随时修改变量的类型。Go的变量能够在声明的时候不指定类型而是直接赋值,Go会自动根据值判断变量的类型,好比:编程

var i = 1

固然这时i的类型(int)也就肯定了以后不能修改i的类型。
也能够声明的时候指定类型:编程语言

var i int

这里面的i就是int类型。若是变量声明的时候没有给定初始值,那默认就是零值,好比:函数

var i int
var s string

fmt.Println(i)
fmt.Println(s)

输出是:指针

0

这里string的零值是""。bool类型的零值是false,之后讲到的指针类型零值是nilcode

Go的简短形式:=声明

上面介绍过,Go能够在变量定义的时候比指定类型,系统自动判断类型,那声明的变量的时候加上var是否是感受有点多余了。Go能够用:=这种写法直接声明变量例如:数学

i := 5
a := false

这时i就是int类型值为5a就是bool类型值为false,须要注意的是它只能被用在函数中,不能全局的声明变量例如:string

package main

import "fmt"
i := 1

func main() {
    fmt.Println(i)
}

这样是不行的。
还有就是相同的变量,在同一个代码块中只能这样被声明一次,第二次声明也是错误的例如:class

package main

import "fmt"

func main() {
    i := 1
    i : = 2
    fmt.Println(i)
}

这样也会报错。import

多变量声明

多变量声明是指一次能够声明多个变量例如变量

var i, j, k int
i, j, k = 0, 1, 2

var m, n = 1, 2
var a, b = 1, false

须要指出的是多个变量声明能够指定不通的类型例如上面 var a, b = 1, false
也支持:=形式的多变量声明

a, b := 1, false

只要 := 左侧出现了新的变量就能够例如:

a, b := 1, false
b, c := false, 1
相关文章
相关标签/搜索