标识符、关键字、变量

1、标识符和关键字

标识符 :Go语言的代码中的几乎所有东西都有一个名称或标识符
_本身就是一个特殊的标识符,被称为空白标识符.它可以像其他标识符那样用于变量的声明或赋值(任何类型都可以赋值给它),但任何赋给这个标识符的值都将被抛弃

关键字:Go中25个关键字或保留字。(var、if之类)
和其它语言一样,关键字不能够作标识符使用。

预定义标识符:Go 语言还有 36 个预定义标识符,其中包含了基本类型的名称和一些基本的内置函数(int32之类)

2、变量的声明

Go语言是静态类型语言,在检查函数调用中编译器检查变量类型的正确性,因此变量必须有明确的类型。在数学概念中,变量表示没有固定值且可改变的数。但从计算机系统实现角度来看,变量是一段或多段用来存储数据的内存。

当一个变量被声明之后,系统自动赋予它该类型的零值:int 为 0,float 为 0.0,bool 为 false,string 为空字符串,指针为 nil 等。所有的内存在 Go 中都是经过初始化的。(实例变量存在堆中,默认初始化值)

数据类型:基本数据类型和引用数据类型

GO语言基本数据类型:

string

bool

int(32系统占4字节,64位系统占8字节)、int8(一个字节)、int16、int32 (rune)、int64

uint(32系统占4字节,64位系统占8字节)、uint8(byte)、uint16、uint32、uint64、uintptr

float32、float64

complex64、complex128 complex复杂的

注意:
Golang在没声明具体整型时,默认为int;
Golang在没声明具体浮点型时,默认为float64

标准格式

声明变量的一般形式是使用 var 关键字:var identifier type

批量格式

1    var (
2        a int
3        b string
4        c []float32
5        d func() bool
6        e struct {
7            x int
8        }
9    )

简短格式

1    func main() {
2       x:=100
3       a,s:=1, "abc"
4    }

需要注意的是,简短模式(short variable declaration)有以下限制:

  • 只能用在函数内部
  • 不能提供数据类型。
  • 定义变量,同时显式初始化。

匿名变量的特点是一个下画线“_”,“_”本身就是一个特殊的标识符,被称为空白标识符

特点:

1、可以像其他标识符那样用于变量的声明或赋值,但任何赋给这个标识符的值都将被抛弃

2、值不能在后续的代码中使用,也不可以使用这个这个标识符作为变量对其它变量的进行赋值或运算

3、匿名变量不占用命名空间,不会分配内存。匿名变量与匿名变量之间也不会因为多次声明而无法使用。