Golang基础学习总结之变量

变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。来源于https://www.runoob.com/go/go-variables.html

Go语言定义变量有多种方式,下面我们来看看具体的示例
var [变量名] [变量类型] = [值]

1
var a int = 10 //定义变量并初始化值

也可以不赋值,如果未显示初始化值的时候,Go会自动为对应数据类型初始化一个默认值(零值),:

1
var a int  //自动初始化零值

Go 语言中的零值大概有以下几种:

类型 零值
数值 0
布尔 false
字符串 “”(空字符串)
slice nil
map nil
指针 nil
函数 nil
接口 nil
信道 nil

Go变量会根据初始值自动判断数据类型:

1
var a = 10

简短定义:

1
a := 10

多变量同类型定义:

1
2
var a,b int
var a,b int = 0,1

多变量不同类型定义:

1
2
3
4
5
6
7
8
9
10
11
12
var a ,b  = 0,"b"

var(
a int
b string
)

var(
a int=0
b string="b"
)
a ,b :=1,2

变量作用域,我理解的变量作用域有三种:

  • 全局作用域
  • 局部作用域
  • 块级作用域
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package main

var a=10 //全局作用域

func main() {
a := 9 //局部作用域
{
a :=8 //块级作用域
println(a)
}
println(a)
println(Get())
}

func Get() int {
return a
}

打印结果:

1
2
3
8
9
10

如有错误之处,敬请提建议,多谢。

You forgot to set the qrcode for Alipay. Please set it in _config.yml.
You forgot to set the qrcode for Wechat. Please set it in _config.yml.
You forgot to set the business and currency_code for Paypal. Please set it in _config.yml.
You forgot to set the url Patreon. Please set it in _config.yml.
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×