摘要
在本文中,我会讨论变量在Go中知识点。无论是哪一种编程语言,都离不开变量这个基本组成单位。
一、变量的概念
准确的说,变量是在内存中一个数据存储空间的表示。就好比有一间酒店,通过变量名(门牌号),我们就可以找到对应的房间,从而访问到变量值。
二、变量的使用
变量的使用步骤
变量的使用基本分为三步:1.声明变量 2.赋值 3.使用
var i int //声明变量
i = 10 //赋值
fmt.Println("i=", i)//使用
变量使用的注意事项
- 如果指定了变量类型后,不赋值而直接使用,那么其将会使用默认值。如int类型默认值为0。
- Go语言可以基于类型推导功能根据值自行判定变量类型。
var a = 10.11 //Go会根据值来推导a这个变量的类型是浮点型
- Go语言可省去var 而使用** :=** 定义变量(注:使用此方法的变量不能是声明过的,否则报错)
var num1 = 10
num2 := 10
- Go语言可一次性声明多个变量
var a, b, c int
三、数据类型
整型 int
顾名思义,整型是来存放整数的数据类型,如:0,-3,25...... 而整型又可以继续往下细分,分为有符号(int)和无符号(uint)
| 标题 | 占用字节 | 范围 | 标题 | 占用字节 | 范围 |
|---|---|---|---|---|---|
| int8 | 1 | -128-127 | uint8 | 1 | 0~255 |
| int16 | 2 | -2^15~2^15-1 | uint16 | 2 | 0~2^16-1 |
| int32 | 4 | -2^31~2^31-1 | uint32 | 4 | 0~2^32-1 |
| int64 | 8 | -2^63~2^63-1 | uint64 | 8 | 0~2^64-1 |
那么当我们直接输入int或uint时,它是哪种类型呢?我们可以通过一下代码来查看字节数从而判断
inport(
"fmt"
"unsafe"
)
func main(){
var i int = 1
fmt.Println("i占用的字节数%d",unsafe.Sizeof(i))
}
浮点型 float
浮点型又可以称为小数类型使用来存放小数的类型。其又可以分为单精度float32 占用4字节和双精度float64 占用8字节。浮点数都是有符号的。而在实际的开发中,因为其精度不同,使用时我们要避免造成精度损失。所以通常我们会使用float64。
在使用float时,我们应该熟悉科学计数法的形式。
字符型
Go语言中其实没有专门的字符类型。但如果想存储单个字符,一般是使用byte来保存。我们用Println直接输出时,其输出的其实是其对应的ASCII码。如果想输出字符,应用“Printf("%c",变量名)”
注:当我们字符为中文时,可能会超出byte的范围。这时可以使用int类型替换。
布尔类型 bool
bool类型只允许取true和false这两个值,也就是真假。其占用1个字节。
注:不能用0或非0来代替true或false来给bool类型赋值
字符串类型 string
字符串类型就是一串字符链接起来的。
字符串赋值后,就不能再去修改字符串的内容
字符串有两种表现形式:1.双引号,可以识别转义字符,如换行符、制表符。 2.反引号(Tab键上方的键),以字符串原本形式输出,可用来输出源代码。