变量
变量的使用方式
第一种,如果变量申明后,没有赋值,那么他就会使用默认值
1
2var num int ;
fmt.Println(num) 默认是0第二种,变量推导,我们可以不用给变量声明类型,他会自己推到类型
1
2var num ="ssss";
fmt.Println(num)第三种,使用**:=**,声明变量
1
2num := "sss"
fmt.Println(num)
申明多个变量
1 | var num,num1,num2 int=1,2,3 //赋值 |
也可以不加上类型,让他自己辨别类型,前面的3种方式可以多个变量声明
全局变量
1 | var name ="saxon" |
数据类型

| 序号 | 类型和描述 |
|---|---|
| 1 | 布尔型 布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true。 |
| 2 | 数字类型 整型 int 和浮点型 float32、float64,Go 语言支持整型和浮点型数字,并且支持复数,其中位的运算采用补码。 |
| 3 | 字符串类型: 字符串就是一串固定长度的字符连接起来的字符序列。Go 的字符串是由单个字节连接起来的。Go 语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本。可以使用 **``**,原样输出 |
| 4 | 派生类型: 包括:(a) 指针类型(Pointer)(b) 数组类型(c) 结构化类型(struct)(d) Channel 类型(e) 函数类型(f) 切片类型(g) 接口类型(interface)(h) Map 类型 |
字符串的使用太长时,使用的+要再上一行
数字类型
- go中的string默认是utf-8编码 一个中文字符为3个字节
- byte是int8的别名 用来处理 ASCII码
- rune是int32别名 用来处理非utf-8或unicode字符
使用的int使用二进制表示数,第一位是符号位,所以表示的数少一位
Go 也有基于架构的类型,例如:int、uint 和 uintptr。
| 序号 | 类型和描述 |
|---|---|
| 1 | uint8 无符号 8 位整型 (0 到 255) |
| 2 | uint16 无符号 16 位整型 (0 到 65535) |
| 3 | uint32 无符号 32 位整型 (0 到 4294967295) |
| 4 | uint64 无符号 64 位整型 (0 到 18446744073709551615) |
| 5 | int8 有符号 8 位整型 (-128 到 127) |
| 6 | int16 有符号 16 位整型 (-32768 到 32767) |
| 7 | int32 有符号 32 位整型 (-2147483648 到 2147483647) |
| 8 | int64 有符号 64 位整型 (-9223372036854775808 到 9223372036854775807) |
浮点型
| 序号 | 类型和描述 |
|---|---|
| 1 | float32 IEEE-754 32位浮点型数 |
| 2 | float64 IEEE-754 64位浮点型数 |
| 3 | complex64 32 位实数和虚数 |
| 4 | complex128 64 位实数和虚数 |
其他数字类型
以下列出了其他更多的数字类型:
| 序号 | 类型和描述 |
|---|---|
| 1 | byte 类似 uint8 |
| 2 | rune 类似 int32 |
| 3 | uint 32 或 64 位 |
| 4 | int 与 uint 一样大小 |
| 5 | uintptr 无符号整型,用于存放一个指针 |
查看数据类型:
1 | fmt.Printf("%T",a) |
1 | fmt.Printf("%T %d", age,unsafe.Sizeof(name)) //查看具体的占用内存的大小 |
1 | var c byte='a' |
输出的是这个byte变量的ASCII码值;
基本数据的默认值:

类型之间的相互转换:
数值之间使用 变量=类型(变量)
其他变化为字符串:
1 | num := 33 |
关键字
下面列举了 Go 代码中会使用到的 25 个关键字或保留字:
| break | default | func | interface | select |
|---|---|---|---|---|
| case | defer | go | map | struct |
| chan | else | goto | package | switch |
| const | fallthrough | if | range | type |
| continue | for | import | return | var |
除了以上介绍的这些关键字,Go 语言还有 36 个预定义标识符:
| append | bool | byte | cap | close | complex | complex64 | complex128 | uint16 |
|---|---|---|---|---|---|---|---|---|
| copy | false | float32 | float64 | imag | int | int8 | int16 | uint32 |
| int32 | int64 | iota | len | make | new | nil | panic | uint64 |
| println | real | recover | string | true | uint | uint8 | uintptr |
程序一般由关键字、常量、变量、运算符、类型和函数组成。
程序中可能会使用到这些分隔符:括号 (),中括号 [] 和大括号 {}。
程序中可能会使用到这些标点符号:.、,、;、: 和 …。



