变量声明

113 阅读1分钟
//声明并且初始化

var a int = 10

var a int  // a的初值为int类型的零值:0

默认值就是这个类型的零值

类型默认值
整型0
浮点型0.0
布尔FALSE
字符串""
指针,接口,切片channel,map,funcnil

数组、结构体这样复合类型变量的零值就是它们组成元素都为零值时的结果。

变量声明块(block)的语法形式,

var ( 
a int = 128 
b int8 = 6 
s string = "hello" 
c rune = 'A' 
t bool = true 
)

省略类型信息的声明:

var b = 13
var b = int32(13)
//多个变量
var a, b, c = 12, 'A', "hello"

短变量声明

a := 12 
b := 'A' 
c := "hello"
//多个变量
a, b, c := 12, 'A', "hello

包级变量

在包级别可见的变量。如果是导出变量(大写字母开头),那么这个包级变量也可以被视 为全局变量 包级变量只能使用带有 var 关键字的变量声明形式,不能使用短变 量声明形式,但在形式细节上可以有一定灵活度

var ErrShortWrite = errors.New("short write") 
var ErrShortBuffer = errors.New("short buffer") 
var EOF = errors.New("EOF")

是局部变量

Go 函数或方法体内声明的变 量,仅在函数或方法体内可见