1. 网络编程
1 | net.Listen(network, address string) (Listener, error) |
协程,比线程更小,十几个goroutine可能体现在底层就五六个线程。Go语言内部实现了这些goroutine之间的内存共享。执行goroutine只需极少的栈内存(4~5KB),比线程更易用,更高效和更轻便。
goroutine调度模型:
并发concurrency:
类型 | 长度 | 默认值 | 说明 |
---|---|---|---|
bool | 1 | false | |
byte | 1 | 0 | uint8的别名,相互不需要转换 |
int, uint | 4, 8 | 0 | 默认整型,长度依平台而定,32或64 |
int8, uint8 | 1 | 0 | -128 ~ 127, 0 ~ 255 |
int16, uint16 | 2 | 0 | |
int32, uint32 | 4 | 0 | |
int64, uint64 | 8 | 0 | |
float32 | 4 | 0.0 | |
float64 | 8 | 0.0 | 默认 |
complex64 | 8 | ||
complex128 | 16 | ||
rune | 4 | 0 | Unicode Code Point, int32的别名 |
uintptr | 4, 8 | 0 | 存储指针的uint |
string | “” | 默认值空字符串,而非nil | |
array | 数组 | ||
struct | 结构体 | ||
function | nil | ||
interface | nil | ||
map | nil | 字典,引用类型 | |
slice | nil | 切片,引用类型 | |
channel | nil | 通道,引用类型 | |
2 / 2