操作系统:centos8;golang版本:1.17.4
go语言按类别有以下几种数据类型,前三种是基本数据类型:
类型 | 描述 |
---|---|
布尔型 | 布尔型的值只可以是常量true或false,默认为false |
数字类型 | 有符号整型int,无符号整型uint,浮点型float32和float64,复数,byte,rune |
字符串类型 | go的字符串是由单个字节连接起来的字符序列 |
派生类型 | (1) 指针类型 (2) 数组类型 (3) 切片类型 (4) Channel类型 (5) Map类型 (6)struct结构化类型 (7) interface接口类型 (8) 函数类型 |
1、布尔型
bool类型表示一个布尔值,可以是true或者false。
2、数字类型
(1) 有符号整型
有符号整型包含5类:int8,int16,int32,int64,int 。
rune是int32的别名
其中,int类型会根据不同的底层平台,表示32或64为整型。除非对整型的大小有特定的需求,否则我们通常使用int表示整型。
(2) 无符号整型
无符号整型包含5类:uint8,uint16,uint32,uint64,uint。
byte是uint8的别名
其中,uint会根据不同的底层平台,表示为32或64为无符号整型。
(3) 浮点型
浮点型包含2类:float32,float64 。
其中,float64比float32的精度更高,通常使用float64来定义一个小数。使用类型推断或简短声明来定义一个小数变量时,其默认类型也是float64 。
(4) 复数类型
复数类型包含2类:complex64(实部和虚部都是float32类型的复数),complex128(实部和虚部都是float64类型的复数)。
内建函数 complex 用于创建一个包含实部和虚部的复数。complex 函数的定义如下:
func complex(r, i FloatType) ComplexType
也可以使用简短声明来创建复数:c := 1 + 2i
3、字符串类型
golang中字符串的底层就是byte数组。我们可以用 + 加号来拼接两个字符串。
ps重要的一点:golang中没有自动类型转换,int和float64不能相加,必须手动转换成相同的类型,把变量 v 转换为 T 类型的语法是 T(v) 。