Go起步:1、開發環境的配置--Windows和Linux

GO是google發佈的一款開源編程語言。正如去官網所說的那樣–Go是一個開源編程語言,可以很容易地構建簡單,可靠,高效的軟件(Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.)。Go語言專門針對多處理器系統應用程序的編程進行了優化,使用Go編譯的程序可以媲美C或C++代碼的速度,而且更加安全、支持並行進程。更多信息可以查看官網https://golang.org/得到。
想了解一門編程語言,肯定需要安裝嘗試,要得到Go可以到官網的下載地址https://golang.org/dl/下載相應平臺的版本。因爲Go是跨平臺和開源的,所以可以看到有Windows,Mac和Linux及源碼包的四個版本。目前最新版是1.6.3。

Windows平臺

直接是msi的可安裝文件,雙擊安裝後配置環境變量
默認安裝到C:\Go
設置go需要的變量

GOROOT=C:\Go
GOBIN=%GOROOT%\bin
GOPATH=E:\workspace\go\gopath

其中GOPATH的作用是告訴Go在那裏去找到安裝在你係統上的Go包。所以以後使用go get命令得到的包都會下載到那裏。可以設置多個路徑,用分號(;)分隔。需要注意的是go get會將代碼下載到GOPATH裏面的第一個項目目錄裏面。
將GOBIN加入到PATH中
這裏寫圖片描述
這裏寫圖片描述
確保path中可以查到go的bin目錄。有時我將GOBIN直接放到path中時會解析不到,不知什麼原因,如果在遇到這個問題我會把go/bin的路徑直接加入到path中。
檢查go的環境配置

go version

這裏寫圖片描述
輸出版本信息就是是安裝完成。
查看go的設置可以使用go evn。

go evn

這裏寫圖片描述

Linux平臺

在Linux上安裝其實和windows差不多,甚至更容易些.畢竟Linux在軟件開發方面對比windows還是有些許優勢的.我的Linux發行版選擇的是Ubuntu.
同樣也是設置環境變量.如果希望對全體用戶生效,則設置在/etc/profile裏,如果只希望對個別用戶剩下則設置在相應用戶主目錄下的.profice裏.
我是設置在/etc/profile裏.使用vim打開/etc/profile文件,在最後增加如下設置:

export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=$HOME/workspace/go

然後註銷或者使用source /etc/profile使環境變量生效.
這裏寫圖片描述
這樣,Linux下的環境就配置完成了.
至於Mac的配置,因爲一直沒有錢買個Mac所以也就不去配置使用了。不過想來應該和Linux相差不大吧。

Hello World

剩下的都是套路了.官網一進去可以看到一個例子.

package main

import "fmt"

func main() {
    fmt.Println("Hello, 世界")
}

新建一個文件hello.go保存以上代碼.使用go build編譯,執行.
這裏寫圖片描述
如果go build不指定名稱,默認編譯的文件是已當前目錄爲名的.我的hello.go在目錄mungo下,所以編譯完後就是mungo的可執行文件.執行之後可以看到屏幕輸出了”Hello 世界”的歡迎語.

代碼解讀

Go程序都是一個package聲明開始的,表示該Go代碼所屬的包,如上面的main。包是Go語言裏的基本的分發單位,也是工程管理中依賴關係的體現。而且如果要生成Go可執行程序,必須建立一個名字爲main的包,並且在該包中包含一個叫main()的函數,該函數是Go可執行程序的執行起點。main()函數不能帶參數,也不能定義返回值。
在包聲明之後,是一系列的import語句,用於導入該程序所依賴的包。像上面的程序中用到的Println()函數屬於fmt包,所以需要import fmt。 有一點需要注意,不得包含在源代碼文件中沒有用到的包,否則Go編譯器會報編譯錯誤。 這個不知道爲什麼設計成這樣,一開始很不習慣。
在下面func關鍵字就是定義函數了。上面定義的main()函數沒有參數和返回值。
花括號{}裏面即使方法體了。上面的程序就是在屏幕打印出“Hello, 世界”的問候語。需要特別注意的是:右花括號{不能另起一行。否則編譯會報錯。而且語句結束後可以不加分號的
通過這個簡單的程序就可以發現go不同於java或者C的很多語法特性。這些目前我談不上理解他們的好處,也說不出壞處,可能這就是 了Go 語言在語言層面解決軟件工程問題的設計哲學,這些以後慢慢理解吧。

學習參考

這裏介紹一下我在接觸學習Go的用到的一些資料。主要是下面的三個方面。當然網絡還有很多其他的資源,不限於這些。

這樣,今天就把Go的使用環境打好了,以後的Go的世界就可以慢慢探索了。

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