Golang 昨天、今天和明天


昨天

市面上有這么多語言為啥還需要開發Go這么個語言?

07年的一天,幾位谷歌的大牛在討論用C++開發一些有關龐大的分布式集群的工作,非常繁瑣但很核心,很是鬧心,后來聽說C++又要添加35項新特性。大牛聽了很是不爽啊,於是討論能否可開發一款新的語言,運行快、編譯快、開發還快。於是幾位列舉了新語言的主要特性,並且借鑒現有語言眾家之所長。說干就干,09年go語言就誕生了。以下是當年列舉的主要特性

規范的語法(不需要符號表來解析)
垃圾回收(獨有)
無頭文件
明確的依賴
無循環依賴
常量只能是數字
int和int32是兩種類型
字母大小寫設置可見性(letter case sets visibility)
任何類型(type)都有方法(不是類型)
沒有子類型繼承(不是子類)
包級別初始化以及明確的初始化順序
文件被編譯到一個包里
包package-level globals presented in any order
沒有數值類型轉換(常量起輔助作用)
接口隱式實現(沒有“implement”聲明)
嵌入(不會提升到超類)
方法按照函數聲明(沒有特別的位置要求)
方法即函數
接口只有方法(沒有數據)
方法通過名字匹配(而非類型)
沒有構造函數和析構函數
postincrement(如++i)是狀態,不是表達式
沒有preincrement(i++)和predecrement
賦值不是表達式
明確賦值和函數調用中的計算順序(沒有“sequence point”)
沒有指針運算
內存一直以零值初始化
局部變量取值合法
方法中沒有“this”
分段的堆棧
沒有靜態和其它類型的注釋
沒有模板
內建string、slice和map
數組邊界檢查

 

今天

目前已經開發的優秀的應用

  • Docker   開源的應用容器引擎
  • K8s   Google 大規模容器管理技術Borg的開源版本,可以實現容器集群的自動化部署、縮容、維護等功能
  • grafana   大規模指標數據可視化展示,網絡架構和應用分析中最流行的時序數據展示工具
  • etcd    高可用key-value數據庫
  • ...

 

明天

前景光明,個人看好


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM