1.GO面向過(guò)程
- 優(yōu)點(diǎn)
速度快,高性能(類似c),開(kāi)發(fā)速度快(類似python),原生并發(fā)支持(類似erlang)
- 流程控制
- 函數(shù)
2.GO面向?qū)ο?/h1>
- 數(shù)據(jù)結(jié)構(gòu)
Array,Slice,Map
- 封裝
通過(guò)struct類似封裝,大小寫(xiě)控制訪問(wèn)權(quán)限
- 結(jié)構(gòu)
- 接口struct
非侵入式接口
3.并發(fā)
- 協(xié)程
調(diào)度由用戶自己控制,本質(zhì)上有點(diǎn)類似于用戶級(jí)線程,這些用戶級(jí)線程的調(diào)度也是自己實(shí)現(xiàn)的,不需要OS搶占式調(diào)度
- 同步機(jī)制
- 通過(guò)(channel)通信
1>不帶緩沖的channel(同步)
2>帶緩沖的channel(異步)
- 共享內(nèi)存加鎖
sync.Mutex和sync.RWMutex
4.網(wǎng)絡(luò)
- 網(wǎng)絡(luò)協(xié)議
Dial()函數(shù)封裝
http協(xié)議接口
- JSON
編碼為JSON func Marshal
解碼JSON數(shù)據(jù) func Unmarshal
Array,Slice,Map
通過(guò)struct類似封裝,大小寫(xiě)控制訪問(wèn)權(quán)限
非侵入式接口
調(diào)度由用戶自己控制,本質(zhì)上有點(diǎn)類似于用戶級(jí)線程,這些用戶級(jí)線程的調(diào)度也是自己實(shí)現(xiàn)的,不需要OS搶占式調(diào)度
1>不帶緩沖的channel(同步)
2>帶緩沖的channel(異步)
sync.Mutex和sync.RWMutex
Dial()函數(shù)封裝
http協(xié)議接口
編碼為JSON func Marshal
解碼JSON數(shù)據(jù) func Unmarshal