Go語言入門教程-介紹和安裝

備註: 因爲年前工做事情較多,我會在過年前完成翻譯整理工做linux

這是go語言入門的第一篇教程golang

什麼是Golang

Go是谷歌建立的,開放源代碼、編譯型和靜態類型的編程語言.web

Golang 的主要關注點在使開發高可用和可伸縮的web應用程序更加簡單和容易.數據庫

爲何選擇Golang

爲何在有這麼多其餘編程語言的前提下要選擇Golang做爲服務端編程語言?編程

如下是我找到的一些關於Go語言的優勢服務器

  • 可直接編譯成機器碼,不依賴其餘庫,glibc的版本有必定要求,部署就是扔一個文件上去就完成了。
  • 靜態類型語言,可是有動態語言的感受,靜態類型的語言就是能夠在編譯的時候檢查出來隱藏的大多數問題,動態語言的感受就是有不少的包能夠使用,寫起來的效率很高。
  • 語言層面支持併發,這個就是Go最大的特點,天生的支持併發,我曾經說過一句話,天生的基因和整容是有區別的,你們同樣美麗,可是你喜歡整容的仍是天生基因的美麗呢?Go就是基因裏面支持的併發,能夠充分的利用多核,很容易的使用併發。
  • 內置runtime,支持垃圾回收,這屬於動態語言的特性之一吧,雖然目前來講GC不算完美,可是足以應付咱們所能遇到的大多數狀況,特別是Go1.1以後的GC。

簡單易學,Go語言的做者都有C的基因,那麼Go天然而然就有了C的基因,那麼Go關鍵字是25個,可是表達能力很強大,幾乎支持大多數你在其餘語言見過的特性:繼承、重載、對象等。網絡

  • 豐富的標準庫,Go目前已經內置了大量的庫,特別是網絡庫很是強大,我最愛的也是這部分。
  • 內置強大的工具,Go語言裏面內置了不少工具鏈,最好的應該是gofmt工具,自動化格式化代碼,可以讓團隊review變得如此的簡單,代碼格式如出一轍,想不同都很困難。
  • 跨平臺編譯,若是你寫的Go代碼不包含cgo,那麼就能夠作到window系統編譯linux的應用,如何作到的呢?Go引用了plan9的代碼,這就是不依賴系統的信息。
  • 內嵌C支持,前面說了做者是C的做者,因此Go裏面也能夠直接包含c代碼,利用現有的豐富的C庫。

Go適合用來作什麼

  • 服務器編程,之前你若是使用C或者C++作的那些事情,用Go來作很合適,例如處理日誌、數據打包、虛擬機處理、文件系統等。
  • 分佈式系統,數據庫代理器等
  • 網絡編程,這一塊目前應用最廣,包括Web應用、API應用、下載應用、
  • 內存數據庫,前一段時間google開發的groupcache,couchbase的部分組建
  • 雲平臺,目前國外不少雲平臺在採用Go開發,CloudFoundy的部分組建,前VMare的技術總監本身出來搞的apcera雲平臺。

安裝

Golang 支持全部第三方操做系統 Mac, Windows, Linux. 你能夠從如下連接下載相應平臺的二進制文件 https://golang.org/dl/併發

Mac OS

https://golang.org/dl/下載OS X 安裝器
雙擊開始安裝.根據安裝提示安裝完成後,Golang被安裝在 /usr/local/go 目錄中,/usr/local/go/bin 會被加入到系統環境變量中.編程語言

Windows

https://golang.org/dl/下載Msi 安裝器.雙擊安裝文件根據安裝提示直到安裝完成.Golang會被安裝在 c:\Go 目錄, c:\Go\bin目錄會被加入到系統環境變量中分佈式

Linux

https://golang.org/dl/下載tar文件, 使用unzip命令解壓至/usr/local目錄, 添加/usr/local/go/bin 到系統環境變量中.

相關文章
相關標籤/搜索