基本数据类型
整数型
整数类型:
①`uint8`
②`uint16`
③`uint32`
④`uint64`
⑤`uint`
⑥`int8`
⑦`int16`
⑧`int32`
⑨`int64`
⑩`int`
- 默认的数字类型是int类型。
- 带u的是无符号数字类型,只能存正整数。
- 后面的数字都是2进制的位数。例如
uint8
就是八位二进制位,最小是0,最大就是八个1再-1(即255)。但是int8
,因为是有符号数字类型,所以八位里有一位要拿来做符号位,实际只有七位可用,最小为负的七位1(即-128),最大为127) uint8
也叫byte
(1B等于8bit)。byte=uint8
- int类型大小决定于所使用的平台。
浮点型
- 浮点型(float)只有
float32
、float64
。 32位只提供大约6个十进制数(也就是表示小数点后6位,最大范围即约为3.4e38)的精度,64位同理,大约提供15个十进制数(最大范围即约为1.8e308)。 - 浮点型基本默认为
float64
。
字符型
- 单字节字符:即ascii里的字符,用
''
来进行声明,用的是byte
,例如a byte = 'a'
。范围也就是0~255(因为byte=uint8
) - 多字节字符:例如表示中、日、韩文。也是用
''
来进行声明,用的是rune
(即int32
),例如a rune = '我'
。
字符串类型
- 字符串:即
string
转义字符:
例如:
fmt.Println("你好\t你好") //横向分隔两个你好 fmt.Println("'你好'你好") //单引号能正常输出 fmt.Println("\"你好\"你好") //输出双引号 fmt.Println("\\你好\\你好") //输出反斜杠 fmt.Println("你好\n你好") //回车换行分隔 fmt.Println("你好\r你好") //回到行首
布尔类型
- 布尔类型(bool)只有true(真)和false(假)两个值。
- 布尔类型默认为false。
- Go语言中不允许将整型强制转换成布尔型。
- 布尔型无法参与数值运算,也无法和其他类型之间进行转换。
类型转换
与 C 语言不同的是,Go 语言在不同类型的项之间赋值时需要显式转换。
//例如: var i int = 42 var f float64 = float64(i) //或 i := 42 f := float64(i)
在声明一个变量而不指定其类型时(即使用不带类型的 := 语法或 var = 表达式语法),变量的类型由右值推导得出。
//例如: var i int j := i //j这样也会是int型
评论(0)