1、Go語言學習預備

一、學習方向

  • 區塊鏈研發工程師html

  • Go服務器端/遊戲軟件工程師linux

  • Golang分佈式/雲計算軟件工程師c++

 

二、Golang的應用領域

  • 區塊鏈的應用開發數據庫

    區塊鏈技術,簡稱BT(Blockchain technology).也被稱之爲分佈式帳本技術,是一種互聯網數據庫技術,其特色是去中心化、公開透明,讓每一個人都可參與數據庫記錄。編程

  • 後臺服務器引用vim

    如美團後臺流量支撐程序、仙俠道遊戲服務端windows

  • 雲計算/雲服務後臺應用安全

    盛大雲CDN(內容分發網絡)、京東消息推送雲服務和京東分佈式文件系統bash

 

三、Golang誕生的緣由

1)計算機硬件技術更新頻繁,性能提升很快。目前主流的編程語言發展明顯落後於硬件,不能合理利用多核多CPU的優點提高軟件系統性能。服務器

2)軟件系統複雜度愈來愈高,維護成本愈來愈高,目前缺少一個足夠簡潔高效的編程語言。[現有的編程語言: 1.風格不統一2. 計算能力不夠3.處理大併發不夠好之中]。

3)企業運行維護不少c/c++的項目,c/c++程序運行速度雖然很快,可是編譯速度確很慢,同時還存在內存泄漏的一系列的困擾須要解決。

 

四、Golang語言的特色

Go語言保證了既能到達靜態編譯語言的安全和性能,又達到了動態語言開發維護的高效率,使用一個表達式來形容Go語言: Go=C + Python,說明Go語言既有C靜態語言程序的運行速度,又能達到Python動態語言的快速開發。

  • 從C語言中繼承了不少理念,包括表達式語法,控制結構,基礎數據類型,調用參數傳值,指針等等,也保留了和C語言同樣的編譯執行方式及弱化的指針。

 func testPtr(num *int) {
     *num = 20
 }
  • 引入包的概念,用於組織程序結構,Go語言的一個文件都要歸屬於一一個包,而不能單獨存在。

  • 垃圾回收機制,內存自動回收,不需開發人員管理

  • 自然併發(重要特色)

    (1)從語言層面支持併發,實現簡單

    (2) goroutine,輕量級線程,可實現大併發處理,高效利用多核。

    (3)基於CPS併發模型(Communicating Sequential Processes)實現

  • 吸取了管道通訊機制,造成Go語言特有的管道channel經過管道channel,能夠實現不一樣的goroute之間的相互通訊。

  • 函數能夠返回多個值

     //函數實現同時返回和,差
     func getSumAndSub(n1 int, n2 int) (int, int) {
         sum:= n1 + n2 /o語句後面不要帶分號
         sub:=n1 -n2
         return sum, sub
     }    
  • 新的創新:好比切片slice、延時執行defer

 

五、Golang在Windows和Linux安裝的步驟

  • Windows

    下載SDKgo1.9.2.windows-amd64.zip,直接解壓。Window需配置3個環境變量,配置完環境變量後,cmd運行go version顯示版本即安裝成功。

    GOROOT 指定SDK的安裝路徑
    PATH 指定SDK的bin目錄
    GOPATH go項目的工做路徑
  • Linux

    下載SDKgo1.9.2.linux-amd64.tar.gz,解壓,配置系統環境變量,source /etc/profile,執行go version顯示版本即安裝成功

 vim /etc/profile
 export GOROOT=/opt/go ###SDK的安裝目錄
 export PATH=$PATH:$GOROOT/bin
 export GOPATH=$HOME/goproject

六、Go程序開發的注意事項

1) Go源文件以「go」爲擴展名。

2)Go應用程序的執行入口是main()函數。

3)Go語言嚴格區分大小寫

4)Go方法由一條條語句構成,每一個語句後不須要加分號(Go語言會在每行後自動加分號)。

5)Go編輯器是一行行進行編譯的,所以咱們一行只能寫一條語句,不然會報錯

6)go語言定義的變量或者import的包若是沒有用到,代碼不能編譯經過。

七、Go語言的轉義字符

1)\t : 表示一個製表符,一般使用它能夠排版。

2)\n :換行符

3) \ \ :一個\

4) \ " :一個"

5) \r :一個回車

八、註釋

行註釋://

塊註釋:/* 註釋內容 */

相關文章
相關標籤/搜索