[Go] 使用go語言解決現代編程難題
阿新 • • 發佈:2019-01-18
功能 方法 性能 channel 垃圾回收 垃圾回收器 ann ava 同步
1.計算機一直在演化,64核,128核等等,但是我們依舊在使用為單核設計的技術編程
2.Go語言讓分享自己的代碼包更容易
3.Go語言重新思考傳統的面向對象,提供了更高效的復用代碼手段
4.Go不僅提供高性能而且開發更快速
5.Go語法簡潔,編譯速度快,內置並發,自帶垃圾回收器
6.Go編譯器只關註直接被引用的庫,不像java c c++遍歷所有依賴;編譯器也可以捕獲類型錯誤
7.Go的並發模型更傾向於在goroutine之間發送消息channel,而不是去爭奪同一個數據的使用權
8.確保並發運行的進程 線程 goroutine不會意外修改用戶的數據,在其他語言中如果使用全局變量或者共享內存,必須使用復雜的鎖規則
9.在goroutine之間利用通道安全的傳輸數據的方法不需要任何鎖或者同步機制,通道並不提供跨goroutine的數據訪問保護機制
10.Go提供了靈活的,無繼承類型系統,避免了傳統面向對象的問題,使用組合設計模式,只需要將一個類型嵌入另一個類型,就能復用所有的功能
11.Go具有獨特的接口實現機制,允許用戶對行為進行建模,不需要聲明某個類型實現了某個接口
12.Go提供簡單類型還支持自定義類型,用戶定義的類型通常包含一組帶類型的字段,用於存儲數據
13.如果一個類型實現了一個接口的所有方法,這就是鴨子類型實現了這個接口
[Go] 使用go語言解決現代編程難題