Mac Golang 開發環境配置

Mac Golang 開發環境配置

Golang 介紹

Go(又稱Golang)是Google開發的一種靜態強類型、編譯型、併發型,並具有垃圾回收功能的編程語言。
由羅伯特·格瑞史莫,羅勃·派克(Rob Pike)及肯·湯普遜於2007年9月開始設計Go,稍後Ian Lance Taylor、Russ Cox加入項目。Go是基於Inferno操作系統所開發的。Go於2009年11月正式宣佈推出,成爲開放源代碼項目,支持Linux、macOS、Windows等操作系統。在2016年,Go被軟件評價公司TIOBE 選爲“TIOBE 2016 年最佳語言”。

Go的語法接近C語言,但對於變量的聲明有所不同。Go支持垃圾回收功能。Go的並行計算模型是以東尼·霍爾的通信順序進程(CSP)爲基礎,採取類似模型的其他語言包括Occam和Limbo,但它也具有pipeline模型的特徵,比如通道傳輸。在1.8版本中開放插件(Plugin)的支持,這意味着現在能從Go中動態加載部分函數。

與C++相比,Go並不包括如枚舉、異常處理、繼承、泛型、斷言、虛函數等功能,但增加了 切片(Slice) 型、併發、管道、垃圾回收功能、接口等特性的語言級支持。Go 2.0版本將支持泛型,對於斷言的存在,則持負面態度,同時也爲自己不提供類型繼承來辯護。

開發環境搭建(MaxOS)

安裝 Golang SDK

1.Golang 官網,進入下載頁面,選擇對應自己操作系統的版本下載安裝。

2.如果你使用的是 Homebrew 也可以使用 brew install go 來安裝。

安裝成功後一般不需要配置環境變量,直接在命令行輸入 go env 來演張是否安裝成功。

升級Golang

1.從官網下載最新的安裝程序覆蓋安裝,安裝包會替換原有的程序。

2.如果你是使用的 Homebrew 安裝直接使用 brew upgrade go

關於 GOROOT 和 GOPATH

GOROOT

GOROOT 就是你 go 的安裝目錄,我用的是 MacOS 對應的 GOROOT 就是 /usr/local/go 目錄。Windows 和 Linux 也是同樣的道理。

GOPATH

GOPATH 時go依賴的一個重要環境變量:$GOPATH ,MacOS 安裝完 GO 後會自動把 /Users/username/go 目錄當作 GOPATH 。在GO的早起版本中,開發go項目一般每個項目都會有自己獨立的 GOPATH 從 v1.11 後 GO 的包管理方式逐漸轉換爲 GOMOD,我們可以在命令行中輸入 go env 通過查看 GO111MODULE=on 這行來判斷是否啓用了 GOMOD ,如果你使用的是v1.13後的版本默認都是開啓的。

自從引用了GOMOD後 GOPATH 的概念逐漸弱化(現在基本都會使用gomod來管理依賴,可以忘掉gopath)。在集成開發環境中配置好默認的 GOPATH 後,使用gomod管理依賴,所有項目通過gomod下載的第三方依賴都會放到GOPATH下的pkg目錄。

GOMOD

Golang從誕生之初就一直有個被詬病的問題:缺少一個行之有效的“官方”包依賴管理工具。其原因是在Google內部,所有人都是在一個代碼庫上進行開發的,因此並不是非常需要。但Golang變成一個社區化的工程語言之後,這個問題被放大了。

1.GOPATH不符合一般開發者習慣,大部分人更習慣maven、node modules之類的方式
2.GOPATH無法有效的管理版本依賴,沒有一個地方能夠表明依賴包的具體版本號,無法形成有效的版本配套關係

Golang 1.11 版本引入的 go mod ,其思想類似maven:摒棄vendor和GOPATH,擁抱本地庫。

使用gomod也很簡單在工程目錄下執行:go mod init {module name},該命令會創建一個go.mod文件。

examples

  • http_demo.go
package main

import (
    "fmt"
    "github.com/asmcos/requests"
)

func main() {
    req := requests.Requests()
    resp, _ := req.Get("https://baidu.com")
    fmt.Println(resp.R.StatusCode)
    fmt.Println(resp.R.Header["Content-Type"])
}

  • go.mod
module HelloWorld

go 1.13

require (
    github.com/asmcos/requests v0.0.0-20181227105501-5384de75ad0b // indirect
)

使用集成開發環境開發Golang程序

在開發中我使用 Goland 來開發 GO 程序。

1.Preferences > Go > GOROOT 配置你GO的安裝位置

2.Preferences > Go > Global GOPATH 配置你GOPATH位置

這兩項配置後基本上就可以開心的開發GO程序了。

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