数据类型
string
- 双引号中可以写转义
- 反引号中不能用转义
println("这个是一个还行 \n转义 ")
println(`这个是一个还行
转义`)
输出
这个是一个还行
转义
这个是一个还行
转义
注意使用utf8, 使用strings 字符串操作
- int 家族(有符号)
| 类型 | 字节 | 范围 |
|---|---|---|
| int8 | 1 (8位) | -2^(n-1) - 2^(n-1)-1 |
| int16 | 2 | …… |
| int32 | 4 | …… |
| int64 | 8 | …… |
| int 默认是8字节 |
- unit 家族
通int
| 类型 | 字节 | 范围 |
|---|---|---|
| Uint8 | 1 | (2^n)-1 |
| uint16 | 2 | …… |
| uint32 | 4 | …… |
| uint64 | 8 | …… |
4.float 家族
| 类型 | 字节 | 范围 |
|---|---|---|
| float32 | 4 | ±1.18×10^-38 到 ±3.4×10^38 |
| float64 | 8 | ±2.23×10^-308 到 ±1.80×10^308 |
- 精度丢失
二进制十进制转换
// 精度丢失
x := 0.3
y := 0.2
diff := x - y
fmt.Printf("0.3 - 0.2 = %.17f\n", diff) // 输出: 0.09999999999999998
- 复杂的数据操作使用
math包
- byte 类型
byte 就是int8, byte 本身是不常用的,通常使用 []byte
- bool
true false
基本语法
变量的声明使用
- 变量声明 var
var 变量名 数据类型 = 值
var 变量名 = 值 (类型推断)
- 变量名大小写是访问控制
- 变量声明 :=
a := 111
- 局部变量,方法内部
- 常量声明 const
- 大小写访问控制
- 类型推断
- 不可修改