go基础1-2:golang中变量和常量声明golang中

golang中变量和常量声明

1 变量

变量是计算机语言中能储存计算结果或能表示值的抽象表示。不同的变量保存的数据类型可能不一样。

1.1 变量声明

声明变量的语法

var identifier type
复制代码

var (variable): 变量的缩写,是声明变量的关键字

identifier: 标识符,变量名称

type: 变量类型

注意:在GO中声明变量的方式不同于java中声明方式,GO中变量名称在前,变量类型在后,并且Go中声明的变量必须使用,需注意。

举例:

package main

func main() {
	var name string
	var age int
	var isLeader bool
}
复制代码

1.2 批量声明变量

批量声明时,可以使用var关键字起始,后面跟一对(),变量定义写在()

举例:

package main

func main() {
	// 批量声明
	var (
		name string
		age int
		isLeader bool
	)
}
复制代码

1.3 变量初始化

Go语言在声明变量的时候,会自动对变量对应的内存区域进行初始化操作。每个变量会被初始化成其类型的默认值,例如: 整型和浮点型变量的默认值为0, 字符串变量的默认值为空字符串"",布尔型变量默认为false,切片、函数、指针变量的默认为nil(空,例如javanull)。

变量初始化语法

var 变量名 类型 = 表达式
复制代码

举例:

package main

func main() {
	var name string = "wanik"
	var age int	= 20
	var isLeader bool = false
    // 批量声明同理
	var (
		name1 string = "wanik"
		age1 int = 20
		isLeader1 bool = false
	)
}
复制代码

GO语言特性之类型推导

我们在声明一个或多个变量时,无需设置其类型,golang会根据我们赋的值推导数据类型,有点像javascript中声明变量的方式

举例:

package main

func main() {
	var name = "wanik"
	var age = 20
	var isLeader = false
}
复制代码

快速初始化多个变量

使用一个var关键字,然后在var关键字后面跟多个变量用 ,(逗号) 隔开,同时在 = (赋值符号)后面跟上多个初始值,同样用 , (逗号) 隔开

举例:

package main
func main() {
	var name, age, isLeader = "wanik", 20, false
}
复制代码

1.4 短变量声明

注意:短变量声明函数内部才能使用,在函数外不能使用,声明时使用 := 运算符进行声明和初始化,这也是常用的声明方式,省略了var关键字和类型。

举例:

package main

func main() {
	name := "wanik"
	age := 20
	isLealer := true
}
复制代码

1.5 匿名变量

如果一个函数返回多个变量,有一些变量使用不到,此时可以用_表示一个匿名变量,匿名变量不可用

举例:

package main

func GetUserInfo() (string, int) {
	return "wanik", 20
}

func main() {
	name, _ := GetUserInfo()
}
复制代码

2 常量

2.1 常量声明

常量声明方式与变量声明方式类似,也有不同点,声明方式如下:

const constantName type = value
复制代码

const: constant (常量) 的缩写,声明常量的关键字

constantName: 常量名称

type: 常量类型

value: 常量值

2.2 声明常量应注意的问题(可能不全,后面遇到会继续补充...)

  1. 声明的常量可以不使用但是必须赋值
  2. 常量不能使用 := 来定义常量
  3. 常量声明必须const关键字修饰,不可省略(批量声明常量是共用最前面的const关键字)
  4. 常量值不可修改