变量:
声明一个变量: var i int
给变量赋值 : i = 10
使用变量: fmt.Println(i)
指定变量类型 var I int
自行判断变量类型 var I = 10.11
省略var但必须写:= I := “test”
一次声明多个变量
方式一: var n1,n2,n3 int
方式二: var n1,name,n2 = 100,”name”,11
方式三: n1,name,n2 = 100,”name”,11
定义全局变量
Var {
N1=100
Name = “name”
N2 = 11
}
变量的数据类型:
基本数据类型
数值型
整数类型
(int,int8,int16,int32,int64,
uint,uint8,uin16,uint32,uint64,
byte)
浮点类型
(float32,float64)
字符型
没有专门的字符型,使用byte来保存单个字母字符
布尔型bool
字符串string
复杂数据类型
指针 , 数组 , 结构体 , 管道 , 函数(也是一种类型) , 切片 ,接口, Map
整数类型
有符号整数范围
类型 | 有无符号 | 大小 | 范围 |
---|---|---|---|
int8 | 有 | 1字节 | -128~127 |
int16 | 有 | 2 | -215~215-1 |
int32 | 有 | 4 | -231~231-1 |
int64 | 有 | 8 | -263~363-1 |
无符号整数范围
类型 | 有无符号 | 大小 | 范围 |
---|---|---|---|
uint8 | 无 | 1字节 | 0~255 |
uit16 | 无 | 2 | 0~2^16-1 |
uint32 | 无 | 4 | 0~2^32-1 |
uint64 | 无 | 8 | 0~2^64-1 |
整型的类型
类型 | 有无符号 | 大小 | 范围 |
---|---|---|---|
Int | 有符号 | 32位系统中 4个字节, | -231~231-1 |
64位系统中 8个字节, | -264~264-1 | ||
uint | 无符号 | 32位中 4个字节, | 0~2^32-1 |
64位 8个字节, | 0-2^64-1 | ||
rune | 有符号 | -231~231-1 | 等价int32 表示一个Unicode码 |
byte | 无符号 | 0~255 | 等价 uint8 当要存储字符时选用byte |
//golang个整数类型分:有符号,无符号 ,int ,uint的大小和系统有关
//golang的整型默认声明为int
//查看某个变量的字节大小和数据类型
var n1 = 100
//fmt.Printf(),用作格式化输出
fmt.Printf("n1 的 数据类型是 %T" ,n1)
var n2 = 10
fmt.Printf("n2 的 数据类型是 %T n2 的占用字节数 %d",n2,unsafe.Sizeof(n2))
golang在程序中整型变量在使用时,遵守保小不保大的原则,即,在保证程序正确运行下,尽量使用占用空间小的类型.
bit是最小的存储单元 ,1byte = 8bit