Golang 簡介

Go(又稱Golang),是 Google 開發(fā)的一種靜態(tài)強(qiáng)類型、編譯型、并發(fā)型,并具有垃圾回收功能的編程語言。
Go是從2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持開發(fā),后來還加入了Ian Lance Taylor, Russ Cox等人,并最終于2009年11月開源,在2012年早些時(shí)候發(fā)布了Go 1穩(wěn)定版本?,F(xiàn)在Go的開發(fā)已經(jīng)是完全開放的,并且擁有一個(gè)活躍的社區(qū)。
相比于 C、C++、Java、Python 這些上世紀(jì)的老前輩,Golang 作為誕生于21世紀(jì)的新型編程語言,擁有媲美 C 的編譯速度和 Python 一般簡潔的語法,可以說是這些編程語言優(yōu)勢(shì)的集大成者。
在云原生時(shí)代已經(jīng)誕生了一大批使用 Golang 編寫的優(yōu)秀軟件,如 Docker 、K8S 等。
下面列舉一些Go語言相關(guān)的網(wǎng)址:
- The Go Programming Language (google.cn)
- Go語言中文網(wǎng) - Golang中文社區(qū) (studygolang.com)
- Golang 中國 (golangtc.com)
- Golang導(dǎo)航 - 學(xué)Go從這里開始! (studygolang.com)
正文
下面正式開始介紹如何在 MacOS 設(shè)備上安裝 Golang 的開發(fā)工具包(同樣適用于 Linux 哦)。
溫馨提示:由于新版本的 Golang 開發(fā)工具包編譯安裝需要依賴于 go1.4版本,為了避免一些未知問題,所以本文直接采用適用于 macOS 平臺(tái) 的已編譯包。
安裝 oh-my-zsh
Apple 從 macOS 10.15 Catalina 開始正式啟用 zsh 作為默認(rèn)終端 Shell ,如果您不想切換默認(rèn) Shell ,可以參考本文配置 Golang 開發(fā)環(huán)境。
- 查看是否已存在
.zshrc
#在終端輸入命令
open ~/.zshrc
如果可以打開則跳過1、2步驟,否則需要安裝 oh-my-zsh
- 采用
curl安裝oh-my-zsh
sh -c "$(curl -fsSL https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)"
- 編輯
.zshrc
#輸入以下命令用文本編輯器打開配置文件
open ~/.zshrc
#在文件末尾添加以下內(nèi)容
export GOROOT=$HOME/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=$HOME/Projects/GolangProjects
-
GOROOT為 go 開發(fā)工具包的位置 -
GOPATH為 go 的工作目錄
- 下載源碼包
如果無法訪問官方下載地址,請(qǐng)使用國內(nèi)地址下載。
curl -O https://dl.google.com/go/go1.18.darwin-amd64.tar.gz
- 解壓安裝
#切換到下載目錄
cd Downloads/
#解壓
tar -zxvf go1.18.darwin-amd64.tar.gz
#移動(dòng)到 $GOROOT 目錄
mv go $HOME
#創(chuàng)建工作目錄:-p 參數(shù)為創(chuàng)建多級(jí)目錄,如果只創(chuàng)建一層目錄則不需要
cd ~
mkdir -p Projects/GolangProjects
- 驗(yàn)證安裝是否成功
輸入命令go version,輸出版本號(hào)則為成功,具體如下。
? ~ go version
go version go1.18 darwin/amd64
? ~
小示例
- 編寫 hello.go
package main
import "fmt"
func main(){
fmt.Println("Hello","world!")
}
- 直接運(yùn)行
? ~ vim hello.go
? ~ ls
Desktop Downloads Movies Pictures Public hello.go
Documents Library Music Projects go
? ~ go run hello.go
Hello world!
- 編譯后運(yùn)行
? ~ go build hello.go
? ~ ls
Desktop Downloads Movies Pictures Public hello
Documents Library Music Projects go hello.go
? ~ ./hello
Hello world!
至此您已經(jīng)完成 Golang 的安裝。