全局变量
1.1 单个全局变量的声明与赋值
package main
import "fmt"
var x int
var s string = "abc"
func main() {
x = 100
fmt.Println("x = ", x)
fmt.Println("s = ", s)
}
运行结果如下:
|
C:\Users\liuy\go\src\我的GO学习笔记\01变量>go run 01.01-变量.go x = 100 s = abc |
知识点小结:
变量的声明格式: var <变量名称> <变量类型> 如:var x int
变量的赋值格式: <变量名称> = <表达式> 如:y = 100
声明的同时赋值: var <变量名称> [变量类型] = 表达式 如:var s string = "abc"
需要注意的是:变量声明与赋值分开时,变量的赋值需要在函数体内进行
1.2 多个变量的声明与赋值
package main
import "fmt"
var (
a string
b int
)
var s, n = "Hello, World!", 123
func main() {
a, b = "Hi,go", 1
fmt.Println("a=", a)
fmt.Println("b=", b)
fmt.Println("s=", s)
fmt.Println("n=", n)
}
运行结果如下:
| C:\Users\liuy\go\src\我的GO学习笔记\01变量>go run 01.02-变量.go a= Hi,go b= 1 s= Hello, World! n= 123 |
知识点小结:
(1) 全局变量的声明可以使用var()的方式进行缩写
如:var (
a int
b bool
s string
)
(2) 全局变量的声明不可以省略var,但可以使用并行方式
(3) 所有变量都可以使用类型推断
注意:局部变量不可以使用var()的方式简写,只能使用并行方式 var a,_,c = 1,2,3
1.3 类型零值
package main
import "fmt"
var x int
var s string
func main() {
fmt.Println("x=", x)
fmt.Println("s=", s)
}
运行结果如下:
|
C:\Users\liuy\go\src\我的GO学习笔记\01变量>go run 01.03-变量.go |
知识点小结:
(1) 零值并不等于空值,而是当变量被声明位某种类型后的默认值,通常情况下:
int类型的默认值为0,bool为false,string为空字符串
浙公网安备 33010602011771号