|
我是接觸到了Docker,才接觸到go語言的,它簡潔高效的語法、高效的開發效率和語言層面上的并發支持 深深的吸引了我,
|
| 語言優勢 |
| 語法簡潔,相比其他語言更容易上手,開發效率更高; |
| 自帶垃圾回收(GC),不用再手動申請釋放記憶體,能夠有效避免 Bug,提高性能; |
| 語言層面的并發支持,讓你很容易開發出高性能的程式; |
| 提供的標準庫強大,第三方庫也足夠豐富,可以拿來即用,提高開發效率; |
| 可通過靜態編譯直接生成一個可執行檔案,運行時不依賴其他庫,部署方便,可伸縮能力強; |
| 提供跨平臺支持,很容易編譯出跨各個系統平臺直接運行的程式, |
| 對比其他語言,Go 的優勢也顯著,比如 Java 雖然具備垃圾回收功能,但它是解釋型語言,需要安裝 JVM 虛擬機才能運行;C 語言雖然不用解釋,可以直接編譯運行,但是它不具備垃圾回收功能,需要開發者自己管理記憶體的申請和釋放,容易出問題,而 Go 語言具備了兩者的優勢, |
| 如今微服務和云原生已經成為一種趨勢,而 Go 作為一款高性能的編譯型語言,最適合承載落地微服務的實作 ,又容易生成跨平臺的可執行檔案,相比其他編程語言更容易部署在 Docker 容器中,實作靈活的自動伸縮服務, |
要想搭建 Go 語言開發環境,需要先下載 Go 語言開發包,你可以從官網 國外的官網 和國內的官網 下載,
Windows MSI 下安裝
MSI 安裝的方式比較簡單,在 Windows 系統上推薦使用這種方式,現在的作業系統基本上都是 64 位的,所以選擇 64 位的 go1.15.windows-amd64.msi 下載即可,如果作業系統是 32 位的,選擇 go1.15.windows-386.msi 進行下載,
下載后雙擊該 MSI 安裝檔案,按照提示一步步地安裝即可,在默認情況下,Go 語言開發工具包會被安裝到 c:\Go 目錄,你也可以在安裝程序中選擇自己想要安裝的目錄,
假設安裝到 c:\Go 目錄,安裝程式會自動把 c:\Go\bin 添加到你的 PATH 環境變數中,如果沒有的話,你可以通過系統 -> 控制面板 -> 高級 -> 環境變數選項來手動添加,
Linux 下安裝
Linux 系統同樣有 32 位和 64 位,你可以根據你的 Linux 作業系統選擇相應的壓縮包,它們分別是 go1.15.linux-386.tar.gz 和 go1.15.linux-amd64.tar.gz,
下載成功后,需要先進行解壓,假設你下載的是 go1.15.linux-amd64.tar.gz,在終端通過如下命令即可解壓:
sudo tar -C /usr/local -xzf go1.15.linux-amd64.tar.gz
輸入后回車,然后輸入你的電腦密碼,即可解壓到 /usr/local 目錄,然后把 /usr/local/go/bin 添加到 PATH 環境變數中,就可以使用 Go 語言開發工具包了,
把下面這段添加到 /etc/profile 或者 $HOME/.profile 檔案中,保存后退出即可成功添加環境變數,
export PATH=$PATH:/usr/local/go/bin
macOS 下安裝
如果你的作業系統是 macOS,可以采用 PKG 安裝包,下載 go1.15.darwin-amd64.pkg 后,雙擊按照提示安裝即可,安裝成功后,路徑 /usr/local/go/bin 應該已經被添加到了 PATH 環境變數中,如果沒有的話,你可以手動添加,和上面 Linux 的方式一樣,把如下內容添加到 /etc/profile 或者 $HOME/.profile 檔案保存即可,
export PATH=$PATH:/usr/local/go/bin
安裝測驗
以上都安裝成功后,你可以打開終端或者命令提示符,輸入 go version 來驗證 Go 語言開發工具包是否安裝成功,如果成功的話,會列印出 Go 語言的版本和系統資訊,如下所示:
$ go version
go version go1.15 darwin/amd64
環境變數設定
Go 語言開發工具包安裝好之后,它的開發環境還沒有完全搭建完成,因為還有兩個重要的環境變數沒有設定,它們分別是 GOPATH 和 GOBIN,
GOPATH:代表 Go 語言專案的作業目錄,在 Go Module 模式之前非常重要,現在基本上用來存放使用 go get 命令獲取的專案,
GOBIN:代表 Go 編譯生成的程式的安裝目錄,比如通過 go install 命令,會把生成的 Go 程式安裝到 GOBIN 目錄下,以供你在終端使用,
假設作業目錄為 /Users/flysnow/go,你需要把 GOPATH 環境變數設定為 /Users/flysnow/go,把 GOBIN 環境變數設定為 $GOPATH/bin,
在 Linux 和 macOS 下,把以下內容添加到 /etc/profile 或者 $HOME/.profile 檔案保存即可,
export GOPATH=/Users/flysnow/go
export GOBIN=$GOPATH/bin
在 Windows 作業系統中,則通過控制面板 -> 高級 -> 環境變數選項添加這兩個環境變數即可,
專案結構
采用 Go Module 的方式,可以在任何位置創建你的 Go 語言專案,
假設你的專案位置是 /Users/flysnow/git/gotour,打開終端,輸入如下命令切換到該目錄下:
$ cd /Users/flysnow/git/gotour
然后再執行如下命令創建一個 Go Module 專案:
$ go mod init
執行成功后,會生成一個 go.mod 檔案,然后在當前目錄下創建一個 main.go 檔案,這樣整個專案目錄結構是:
gotour
├── go.mod
├── lib
└── main.go
其中 main.go 是整個專案的入口檔案,里面有 main 函式,lib 目錄是專案的子模塊,根據專案需求可以新建很多個目錄作為子模塊,也可以繼續嵌套為子模塊的子模塊,
編譯發布
完成了你的專案后,可以編譯生成可執行檔案,也可以把它發布到 $GOBIN 目錄,以供在終端使用,以“Hello 世界”為例,在專案根目錄輸入以下命令,即可編譯一個可執行檔案,
$ go build ./ch01/main.go
回車執行后會在當前目錄生成 main 可執行檔案,現在,我們來測驗下它是否可用,
$ ./main
Hello, 世界
如果成功列印出“Hello, 世界”,證明程式成功生成,
以上生成的可執行檔案在當前目錄,也可以把它安裝到 $GOBIN 目錄或者任意位置,如下所示:
$ go install ./ch01/main.go
使用 go install 命令即可,現在你在任意時刻打開終端,輸入 main 回車,都會列印出“Hello, 世界”,是不是很方便!
跨平臺編譯
Go 語言開發工具包的另一強大功能就是可以跨平臺編譯,什么是跨平臺編譯呢?就是你在 macOS 開發,可以編譯 Linux、Window 等平臺上的可執行程式,這樣你開發的程式,就可以在這些平臺上運行,也就是說,你可以選擇喜歡的作業系統做開發,并跨平臺編譯成需要發布平臺的可執行程式即可,
Go 語言通過兩個環境變數來控制跨平臺編譯,它們分別是 GOOS 和 GOARCH ,
GOOS:代表要編譯的目標作業系統,常見的有 Linux、Windows、Darwin 等,
GOARCH:代表要編譯的目標處理器架構,常見的有 386、AMD64、ARM64 等,
這樣通過組合不同的 GOOS 和 GOARCH,就可以編譯出不同的可執行程式,比如我現在的作業系統是 macOS AMD64 的,我想編譯出 Linux AMD64 的可執行程式,只需要執行 go build 命令即可,如以下代碼所示:
$ GOOS=linux GOARCH=amd64 go build ./ch01/main.go
關于 GOOS 和 GOARCH 更多的組合,參考官方檔案的 $GOOS and $GOARCH 這一節即可,
Go 編輯器推薦
好的編輯器可以提高開發的效率,這里我推薦兩款目前最流行的編輯器,
第一款是 Visual Studio Code + Go 擴展插件,可以讓你非常高效地開發,通過官方網站 https://code.visualstudio.com/ 下載使用,
第二款是老牌 IDE 公司 JetBrains 推出的 Goland,所有插件已經全部集成,更容易上手,并且功能強大,新手老手都適合,你可以通過官方網站 https://www.jetbrains.com/go/ 下載使用,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/205350.html
標籤:其他
上一篇:element 解決 Error: target is not existed: .page-component__scroll .el-scrollbar__wrap
下一篇:C語言編譯程序
