天天看點

Go語言學習---day1

Go語言文法标準:LALR,即在編譯時不需要符号表來協助解析

Go語言特性:

        1.從本質上(程式和結構方面)來實作并發程式設計。

        2.沒有類和繼承的概念,它通過接口(interface)的概念來實作多态性。Go 語言有一個 清晰易懂的輕量級類型系統,在類型之間也沒有層級之說。

       3. Go 語言使用靜态類型,它是類型安全的一門語言,作為強類型語言,隐式的類型轉換不被允許的。原則:讓所有的東西都是顯式的。

       4.Go 語言也有一些動态語言的特性(通過關鍵字 

var

       5.Go 語言支援交叉編譯,完全支援 UTF-8 的程式設計語言

用途:

        Go 語言是一門應用于搭載 Web 伺服器,存儲叢集或類似用途的巨型中央伺服器的系統程式設計語言。對于高性能分布式系統領域而言,Go 語言有着更高的開發效率。它提供海量并行的支援,對于遊戲服務端的開發極好。

        Go 語言一個目标就是實作複雜事件處理(CEP),該技術要求海量并行支援,高度的抽象化和高性能,物聯網時代用處極大

        也可以用于實作一般目标的語言

        但是由于垃圾回收和自動記憶體配置設定的原因,Go 語言不适合用來開發對實時性要求很高的軟體。

缺陷:  

        為了簡化設計,不支援函數重載和操作符重載

        為了避免在 C/C++ 開發中的一些 Bug 和混亂,不支援隐式轉換

        Go 語言通過另一種途徑實作面向對象設計來放棄類和類型的繼承

        盡管在接口的使用方面可以實作類似變體類型的功能,但本身不支援變體類型

        不支援動态加載代碼

        不支援動态連結庫

        不支援泛型

        通過 

recover

 和 

panic

 來替代異常機制

        不支援靜态變量

檔案擴充名與包(package):Go 語言源檔案的擴充名為:  

.go