一、基础
1、类型
基础类型
Go 自带基础类型有如下:
类型 | 长度 | 默认值 | 说明 |
---|---|---|---|
bool | 1 | false | |
byte | 1 | 0 | uint8 别名 |
int, uint | 4, 8 | 0 | 默认整数类型,不同平台使用不同长度32或64位 |
int8, uint8 | 1 | 0 | -128 |
int16, uint16 | 2 | 0 | -32768 |
int32, uint32 | 4 | 0 | -21亿 |
int64, uint64 | 8 | 0 | |
float32 | 4 | 0.0 | |
float64 | 8 | 0.0 | 默认浮点类型 |
complex64 | 8 | ||
complex128 | 16 | ||
rune | 4 | 0 | int32 别名 |
uintptr | 4, 8 | 0 | 存储指针的 uint |
string | “” | 默认空字符串而不是 NULL | |
array | |||
struct | |||
function | nil | ||
interface | nil | ||
map | nil | 引用类型 | |
slice | nil | 引用类型 | |
channel | nil | 引用类型 |
1 | // strconv 包用来在不同类型间转换: |
自定义类型
Go 中自定义类型有二种方式:
- 基于现有的基础类型创建,也就是别名。别名只能继承基础类型的操作符,其他方法等都不能继承。
- 自定义结构体、方法。
1 | // 别名,别名只能继承基础类型的操作符,其他方法等都不能继承 |
2、表达式
1 | // Go 中自增自减只能后置不能前置,而且必须放在单独的一行语句中而不能放在表达式中 |
3、函数
Go 中函数有一些限制:不支持默认参数、不支持函数重载。
函数在 Go 中是第一类对象,具有相同参数和返回类型的函数是同一类型。
1 | // 以下三个方法是同一类型 |
二、GO 商城
1、RabbitMQ
RabbitMQ
主要使用场景:流量削峰、异步处理、应用解耦。
RabbitMQ
安装依赖 Erlang
。