Go语言详解
? ? ? ?Go(The Google Programming Language)語言是谷歌2009年發布的第二款開源編程語言。Go語言專門針對多處理器系統應用程序的編程進行了優化,使用Go編譯的程序可以媲美C或C++代碼的速度,而且更加安全、支持并行進程。Go支持面向對象,而且具有真正的閉包(closures)和反射 (reflection)等功能。
? ? ? ?Go是從2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持開發,后來還加入了Ian Lance Taylor, Russ Cox等人,并最終于2009年11月開源,在2012年早些時候發布了Go 1穩定版本。現在Go的開發已經是完全開放的,并且擁有一個活躍的社區。
特色
- 簡潔 快速 安全
- 并行 有趣 開源,
- 內存管理,數組安全,編譯迅速
計算機軟件經歷了數十年的發展,形成了多種學術流派,有面向過程編程、面向對象編程、函數式編程、面向消息編程等,這些思想究竟孰優孰劣,眾說紛紜。
除了OOP外,近年出現了一些小眾的編程哲學,Go語言對這些思想亦有所吸收。例如,Go語言接受了函數式編程的一些想法,支持匿名函數與閉包。再如,Go語言接受了以Erlang語言為代表的面向消息編程思想,支持goroutine和通道,并推薦使用消息而不是共享內存來進行并發編程。總體來說,Go語言是一個非常現代化的語言,精小但非常強大。
Go 語言最主要的特性:
- 自動垃圾回收
- 更豐富的內置類型
- 函數多返回值
- 錯誤處理
- 匿名函數和閉包
- 類型和接口
- 并發編程
- 反射
- 語言交互性
Go 語言用途
Go 語言被設計成一門應用于搭載 Web 服務器,存儲集群或類似用途的巨型中央服務器的系統編程語言。
對于高性能分布式系統領域而言,Go 語言無疑比大多數其它語言有著更高的開發效率。它提供了海量并行的支持,這對于游戲服務端的開發而言是再好不過了。
支持平臺
硬件架構
Go語言設計支持主流的32位和64位的x86平臺,同時也支持32位的ARM架構。
操作系統
Go語言在Go1版本上支持Windows, 蘋果Mac OS X, Linux和FreeBSD操作系統。
開發工具
LiteIDE是一款專門為Go語言開發的跨平臺輕量級集成開發環境(IDE),由QT編寫。
主要特點:
支持主流操作系統:Windows、Linux、MacOS X。
Go編譯環境管理和切換:管理和切換多個Go編譯環境、支持Go語言交叉編譯。
與Go標準一致的項目管理方式:基于GOPATH的包瀏覽器、基于GOPATH的編譯系統、基于GOPATH的Api文檔檢索。
Go語言的編輯支持:類瀏覽器和大綱顯示、Gocode(代碼自動完成工具)的完美支持、Go語言文檔查看和Api快速檢索、代碼表達式信息顯示F1、源代碼定義跳轉支持F2、Gdb斷點和調試支持、gofmt自動格式化支持。
其他特征:支持多國語言界面顯示、完全插件體系結構、支持編輯器配色方案、基于Kate的語法顯示支持、基于全文的單詞自動完成、支持鍵盤快捷鍵綁定方案、Markdown文檔編輯支持、實時預覽和同步顯示、自定義CSS顯示、可導出HTML和PDF文檔、批量轉換/合并為HTML/PDF文檔
Sublime Text 3(以下簡稱Sublime)+ GoSublime + gocode + MarGo的組合。
其優點有:
自動化提示代碼。
保存的時候自動格式化代碼,讓您編寫的代碼更加美觀,符合Go的標準。
支持項目管理
支持語法高亮
Vim是從vi發展出來的一個文本編輯器,享有“編輯器之神”的稱號。代碼補全、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被廣泛使用。
Emacs是由GNU開源組織開發出來的一個文本編輯器,同時更是一個整合環境,曾被人戲稱“一個偽裝成編輯器的操作系統”。
Eclipse也是非常常用的開發利器,可以使用Eclipse來編寫Go程序。
Goland是專門針對Go語言的集成開發環境,目前已成為付費軟件。
示例
接下來我們來編寫第一個 Go 程序 hello.go(Go 語言源文件的擴展名是 .go),代碼如下:
hello.go 文件
package?mainimport?"fmt"func?main()?{fmt.Println("Hello, World!") }要執行 Go 語言代碼可以使用?go run?命令。
執行以上代碼輸出:
$ go run hello.go Hello, World!此外我們還可以使用?go build?命令來生成二進制文件:
$ go build hello.go $ ls hello????hello.go $ ./hello Hello, World!Go 語言環境安裝
Go 語言支持以下系統:
- Linux
- FreeBSD
- Mac OS X(也稱為 Darwin)
- Windows
安裝包下載地址為:https://golang.org/dl/。
如果打不開可以使用這個地址:Downloads - The Go Programming Language。
各個系統對應的包名:
| Windows | go1.4.windows-amd64.msi |
| Linux | go1.4.linux-amd64.tar.gz |
| Mac | go1.4.darwin-amd64-osx10.8.pkg |
| FreeBSD | go1.4.freebsd-amd64.tar.gz |
UNIX/Linux/Mac OS X, 和 FreeBSD 安裝
以下介紹了在UNIX/Linux/Mac OS X, 和 FreeBSD系統下使用源碼安裝方法:
1、下載二進制包:go1.4.linux-amd64.tar.gz。
2、將下載的二進制包解壓至 /usr/local目錄。
tar -C /usr/local -xzf go1.4.linux-amd64.tar.gz3、將 /usr/local/go/bin 目錄添加至 PATH 環境變量:
export PATH=$PATH:/usr/local/go/bin以上只能暫時添加 PATH,關閉終端下次再登錄就沒有了。
我們可以編輯 ~/.bash_profile 或者 /etc/profile,并將以下命令添加該文件的末尾,這樣就永久生效了:
export PATH=$PATH:/usr/local/go/bin添加后需要執行:
source ~/.bash_profile 或 source /etc/profile注意:MAC 系統下你可以使用?.pkg?結尾的安裝包直接雙擊來完成安裝,安裝目錄在?/usr/local/go/?下。
Windows 系統下安裝
Windows 下可以使用 .msi 后綴(在下載列表中可以找到該文件,如go1.4.2.windows-amd64.msi)的安裝包來安裝。
默認情況下?.msi?文件會安裝在?c:\Go?目錄下。你可以將?c:\Go\bin?目錄添加到?Path?環境變量中。添加后你需要重啟命令窗口才能生效。
安裝測試
創建工作目錄?C:\>Go_WorkSpace。
test.go 文件代碼:
package?mainimport?"fmt"func?main()?{fmt.Println("Hello, World!") }使用 go 命令執行以上代碼輸出結果如下:
C:\Go_WorkSpace>go run test.goHello, World!?
?
總結
- 上一篇: android 真机 sqlite3,在
- 下一篇: swagger 修改dto注解_Swag