课程名称:GO语言语法入门篇
课程章节:第4章 Go 语言数据类型
课程讲师:Cap
课程内容:
本章节学习的内容有:
-
变量声明,初始化和赋值
-
变量的可见性规则
-
常量,常量声明和 iota 的使用
变量声明,初始化和赋值
Go 中使用 var
或者 const
关键字声明变量:
var <变量名> [变量类型]
变量赋值的格式是:
<变量名> = <值, 表达式, 函数等>
声明和赋值通常会合起来写:
var <变量名> [变量类型] = <值, 表达式, 函数等>
比如声明一个 string 类型的 name 变量:
var name string = “golang”
变量还可以分组声明:
var (
i int
j float32
)
分组声明并赋值:
var (
age int = 18
name string = “golang”
)
可以在同一行中声明多个变量和赋值:
var a, b, c int = 1, 2, 3
需要注意的是,在函数内声明的变量必须被使用,否则会报错:
类型推断
变量声明时可以省略类型声明,编译器会根据值自动推断出类型,这个就叫类型推断。
package main
import (
“fmt”
“reflect”
)
func main() {
var name = "golang"
fmt.Println(reflect.TypeOf(name)) // 打印结果为 “string”
}
省略 var
在函数中声明变量时可以省略 var
,但是 =
要换成 :=
:
name := “golang”
也就是,从最初的:
var name string = “golang”
逐步省略为:
var name = "golang"
name := “golang”
在全局中声明变量必须使用 var
声明,而不能省略。
特殊变量下划线 “_”
下划线 _
作为变量,可以理解为一个回收站,将一个值赋值给 _ ,就相当于将此值扔进了回收站,在接下来的程序运行中这个值就不存在了。
func main() {
var a, _, b = 10, 20, 30
fmt.Println(a) // 10
fmt.Println(b) // 30
}
课程收获:
这节课讲解了 Go 语言中变量的声明,包括最普通的声明方式,分组声明的方式,以及同时声明多个变量的方式。
在声明局部变量时,可以通过类型推断和简写的方式,更简洁的声明一个变量。