GO語言入門
GO語言的起源
Google 三位工程師業(yè)余20%的空閑時(shí)間開發(fā)
-
時(shí)間軸:
2007 年 9 月 21 日:雛形設(shè)計(jì) 2009 年 11 月 10日:首次公開發(fā)布 2010 年 1 月 8 日:當(dāng)選 2009 年年度語言 2010 年 5 月:谷歌投入使用 2011 年 5 月 5 日:Google App Engine 支持 Go 語言
Go語言主要特性
- 在 Go 語言出現(xiàn)之前,開發(fā)者們總是面臨非常艱難的抉擇,究竟是使用執(zhí)行速度快但是編譯速度并不理想的語言(如:C++),還是使用編譯速度較快但執(zhí)行效率不佳的語言(如:.NET、Java),或者說開發(fā)難度較低但執(zhí)行速度一般的動(dòng)態(tài)語言呢?顯然,Go 語言在這 3 個(gè)條件之間做到了最佳的平衡:快速編譯,高效執(zhí)行,易于開發(fā)。
- 由于內(nèi)存問題(通常稱為內(nèi)存泄漏)長期以來一直伴隨著 C++ 的開發(fā)者們,Go 語言的設(shè)計(jì)者們認(rèn)為內(nèi)存管理不應(yīng)該是開發(fā)人員所需要考慮的問題。因此盡管 Go 語言像其它靜態(tài)語言一樣執(zhí)行本地代碼,但它依舊運(yùn)行在某種意義上的虛擬機(jī),以此來實(shí)現(xiàn)高效快速的垃圾回收(使用了一個(gè)簡單的標(biāo)記-清除算法)
- 在傳統(tǒng)的面向?qū)ο笳Z言中,使用面向?qū)ο缶幊碳夹g(shù)顯得非常臃腫,它們總是通過復(fù)雜的模式來構(gòu)建龐大的類型層級(jí),這違背了編程語言應(yīng)該提升生產(chǎn)力的宗旨。因?yàn)?Go 語言沒有類和繼承的概念,所以它和 Java 或 C++ 看起來并不相同。但是它通過接口(interface)的概念來實(shí)現(xiàn)多態(tài)性。Go 語言有一個(gè)清晰易懂的輕量級(jí)類型系統(tǒng),在類型之間也沒有層級(jí)之說。因此可以說這是一門混合型的語言。
- 缺點(diǎn)
- 值得注意的是,因?yàn)槔厥蘸妥詣?dòng)內(nèi)存分配的原因,Go 語言不適合用來開發(fā)對實(shí)時(shí)性要求很高的軟件。
- 為了簡化設(shè)計(jì),不支持函數(shù)重載和操作符重載
GO語言安裝
- 下載裝Go安裝包
- 推薦IDE LiteIDE