AI智能
改变未来

Go的100天之旅-03变量

文章目录

  • 变量介绍
  • Go的简短形式`:=`声明
  • 多变量声明

变量介绍

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

var i = 1

当然这时

i

的类型(

int

)也就确定了之后不能修改

i

的类型。
也可以声明的时候指定类型:

var i int

这里面的

i

就是

int

类型。如果变量声明的时候没有给定初始值,那默认就是零值,比如:

var i intvar s stringfmt.Println(i)fmt.Println(s)

输出是:

0

这里string的零值是\”\”。bool类型的零值是false,以后讲到的指针类型零值是nil

Go的简短形式

:=

声明

上面介绍过,Go可以在变量定义的时候比指定类型,系统自动判断类型,那声明的变量的时候加上var是不是感觉有点多余了。Go可以用

:=

这种写法直接声明变量例如:

i := 5a := false

这时

i

就是

int

类型值为

5

a

就是

bool

类型值为

false

,需要注意的是它只能被用在函数中,不能全局的声明变量例如:

package mainimport \"fmt\"i := 1func main() {fmt.Println(i)}

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

package mainimport \"fmt\"func main() {i := 1i : = 2fmt.Println(i)}

这样也会报错。

多变量声明

多变量声明是指一次可以声明多个变量例如

var i, j, k inti, j, k = 0, 1, 2var m, n = 1, 2var a, b = 1, false

需要指出的是多个变量声明可以指定不通的类型例如上面

var a, b = 1, false

也支持

:=

形式的多变量声明

a, b := 1, false

只要

:=

左侧出现了新的变量就可以例如:

a, b := 1, falseb, c := false, 1
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » Go的100天之旅-03变量