支持的数据类型
概述
基本数据类型
- 布尔类型 : bool (同PHP)
- 整型: int8,byte,int16,int,unit ,unitptr (PHP整型只有int型)
- 浮点类型: float32,float64(PHP为float,double)
- 复数类型: complex64,complex128(PHP中并无此类型)
- 字符类型:rune(PHP并无此类型)
- 字符串类型:string(同PHP string)
- 错误类型: error(PHP并无此类型)
复合类型
- 指针(PHP并无此类型)
- 数组(类似PHP中数组)
- 切片(类似PHP中数组)
- 字典(类似PHP中数组)
- 通道(PHP中无)
- 结构体(类似class)
- 接口(类似PHP interface)
布尔
go中bool只能切必须为true
,false
,因为go为强类型语言,如果定义为bool
类型,不能像PHP中一样用1,0来代替true,false
同样空,null,0,等在go中也不能作为布尔判断
1 | var b bool |
整型
go中的整型分的很详细,不同于PHP中只有int型.特别注意的go中整型每个类型都是独立的,不能作为同类型进行比较和运算
1 | var int_1 int8 |
浮点数
go中浮点分为float32
,float64
,同样这2个也是相对独立的,不能作为同类型比较和运算
复数
go中支持复数类型运算
解释来自百度:
我们把形如z=a+bi(a,b均为实数)的数称为复数,其中a称为实部,b称为虚部,i称为虚数单位。当z的虚部等于零时,常称z为实数;当z的虚部不等于零时,实部等于零时,常称z为纯虚数。复数域是实数域的代数闭包,即任何复系数多项式在复数域中总有根。 复数是由意大利米兰学者卡当在十六世纪首次引入,经过达朗贝尔、棣莫弗、欧拉、高斯等人的工作,此概念逐渐为数学家所接受。
字符串类型
go中字符串类型不同于PHP的是,go中一旦定义了就不可更改,属于不可变的,并且字符串需要双引号来定义字符串值
1 | var str string |
字符类型
go中字符有两种:
- unit8(byte型),代表ASCII码的一个字符
- rune类型,代表一个utf-8字符.处理中文,日文等复合字符时,需要用到rune类型,rune类型实际上是一个int32