go 基础之数据类型(1)
1.基本数据类型概述
- 整型
- 浮点型
- 复数
- 布尔型
- 字符串
- 常量
- 整型运算
2.数据类型详细
2.1.整型(Go语言同时提供了有符号和无符号类型的整数运算)
有符号整形数类型: int8,长度:1字节, 取值范围:(-128 ~ 127) int16,长度:2字节,取值范围:(-32768 ~ 32767) int32,长度:4字节,取值范围:(-2,147,483,648 ~ 2,147,483,647) int64.长度:8字节,取值范围:(-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807) 无符号整形数类型: uint8,长度:1字节, 取值范围:(0 ~ 255) uint16,长度:2字节,取值范围:(0 ~ 65535) uint32,长度:4字节,取值范围:(0 ~ 4,294,967,295) uint64.长度:8字节,取值范围:(0 ~ 18,446,744,073,709,551,615)
2.2.浮点型
浮点型。float32 精确到小数点后 7 位,float64 精确到小数点后 15 位。由于精确度的缘故,你在使用 == 或者 != 来比较浮点数时应当非常小心。
浮点型(IEEE-754 标准): float32:(+- 1e-45 -> +- 3.4 * 1e38)32位浮点类型 float64:(+- 5 1e-324 -> 107 1e308)64位浮点类型浮点型中指数部分由"E"或"e"以及带正负号的10进制整数表示。例:3.9E-2表示浮点数0.039。3.9E+1表示浮点数39。 有时候浮点数类型值也可以被简化。比如39.0可以被简化为 39。0.039可以被简化为.039。在Golang中浮点数的相关部分只能由10进制表示法表示。
复数
复数类型: complex64: 由两个float32类型的值分别表示复数的实数部分和虚数部分 complex128: 由两个float64类型的值表示复数的实数部分和虚数部分复数类型的值一般由浮点数表示的实数部分、加号"+"、浮点数表示的虚数部分以及小写字母"i"组成,例如:
var x complex128 = complex(1,2) //1+2i对于一个复数 c = complex(x, y) ,可以通过Go语言内置函数 real(z) 获得该复数的实 部,也就是 x ,通过 imag(c) 获得该复数的虚部,也就是 y 。
2.3.布尔型
在Go语言中,布尔值的类型为 bool,值是 true 或 false
2.4.字符串
在Go语言中,组成字符串的最小单位是字符,存储的最小单位是字节,字符串本身不支持修改。字节是数据存储的最小单元
字符串的表示法有两种,即:原生表示法和解释型表示法。原生表示法,需用用反引号"`"把字符序列包起来,如果用解释型表示法,则需要用双引号"""包裹字符序列。
这两种表示的区别是,前者表示的是所见即所得的(除了回车符)。后者所表示的值中转义符会起作用。字符串值是不可变的,如果我们创建了一个此类型的值,就不可能再对它本身做任何修改。
var name string = "Jone"
var unme sting = `Jone`
2.5.常量
常量表达式的值在编译期计算,而不是在运行期。每种常量的潜在类型都是基础类型:boolean、string或数字。
const x, y int = 1, 2 // 多常量初始化
const s = "Hello, KeKe!" // 类型推断
const ( // 常量组
a, b
c
= 10, 20
bool = false
)
func main() {
const m = "20"// 未使用用局部常量不会引发编译错误。
}
2.6.整型运算
在整型运算中,算术运算、逻辑运算和比较运算,运算符优先级从上到下递减顺序排列:
* / % << >> & &^ + - | ^ == != < <= > >= && ||
在同一个优先级,使用左优先结合规则,但是使用括号可以明确优先顺序。
bit位操作运算符:
| 符号 | 操作 | 操作数是否区分符号 |
|---|---|---|
| & | 位运算 AND | No |
| ^ | 位运算 XOR | No |
| &^ | 位清空 (AND NOT) | No |
| << | 左移 | Yes |
| >> | 右移 | Yes |

浙公网安备 33010602011771号