GO語言學習記錄筆記1-入門瞭解

GO語言學習筆記之簡介:
1. 從C語言繼承了相似的表達式語法、控制流結構、基礎數據類型、調用參數傳值、指針等很多思想,還有C語言一直所看中的編譯後機器碼的運行效率以及和現有操作系統的無縫適配;


2. Go語言沒有類和繼承的概念,所以它和 Java 或 C++ 看起來並不相同。但是它通過接口(interface)的概念來實現多態性。Go語言有一個清晰易懂的輕量級類型系統,在類型之間也沒有層級之說。因此可以說Go語言是一門混合型的語言;


3. 步驟
①使用文本編輯器創建 Go 程序;
②保存文件;
③編譯程序;
④運行編譯得到的可執行文件。


4. 特性(優點)
語法簡單、併發模型、內存分配、垃圾回收、靜態鏈接、標準庫、工具鏈


5. 併發
      Go語言的併發是基於 goroutine 的,goroutine 類似於線程,但並非線程。可以將 goroutine 理解爲一種虛擬線程。Go語言運行時會參與調度 goroutine,並將 goroutine 合理地分配到每個 CPU 中,最大限度地使用 CPU 性能。
     多個 goroutine 中,Go語言使用通道(channel)進行通信,通道是一種內置的數據結構,可以讓用戶在不同的 goroutine 之間同步發送具有 類型的消息。這讓編程模型更傾向於在 goroutine 之間發送消息,而不是讓多個 goroutine 爭奪同一個數據的使用權。


6. 劣勢
   Go語言不支持自定義的泛型類型


7. GO語言是怎麼編譯的?
   Go的編譯器在邏輯上可以被分成四個階段:詞法與語法分析、類型檢查和 AST 轉換、通用 SSA 生成和最後的機器代碼生成
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章