go语言学之变量和常量
1、go语言变量声明格式
var 变量名 变量类型
变量声明以关键字var开头,变量类型放在变量的后面,行尾无需分号
例如:
var a string
var b bool
var c int
批量声明
var (
a string
b int
c bool
)
2、变量初始化
var 变量名 类型 = 表达式 Go语言在声明变量的时候,会自动对变量对应的内存区域进行初始化操作。每个变量会被初始化成其类型的默认值 var name string = "张三" var age int = 18 有时候我们会将变量的类型省略,这个时候编译器会根据等号右边的值来推导变量的类型完成初始化。 var name = "张三" var age = 18
短变量声明
在函数内部,可以使用更简略的 := 方式声明并初始化变量 package main import "fmt" func main() { n := 10 m := 200 // 此处声明局部变量m fmt.Println(m, n) }
匿名变量 在使用多重赋值时,如果想要忽略某个值,可以使用匿名变量(anonymous variable)。 匿名变量用一个下划线_表示,例如: func test() (int, string) { return 10, "a" } func main() { x, _ := test() }
匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明
变量主要注意事项
1、函数外的每个语句都必须以关键字开始(var、const、func等) 2、:=不能使用在函数外。由于使用了:=
,而不是赋值的=
,因此推导声明写法的左值变量必须是没有定义过的变量。若定义过,将会发生编译错误 3、_多用于占位,表示忽略值。
4、非全局变量定义了就要使用
3、常量
常量声明 1、 const pi = 3.1415 const e = 2.7182 2、 const ( pi = 3.1415 e = 2.7182 ) 3、const同时声明多个常量时,如果省略了值则表示和上面一行的值相同 const ( n1 = 100 n2 n3 )
iota是go语言的常量计数器,只能在常量的表达式中使用。 1、iota在const关键字出现时将被重置为0 2、const中每新增一行常量声明累加1