Mac Golang 開發(fā)環(huán)境配置

Mac Golang 開發(fā)環(huán)境配置

Golang 介紹

Go(又稱Golang)是Google開發(fā)的一種靜態(tài)強類型、編譯型哗蜈、并發(fā)型耿焊,并具有垃圾回收功能的編程語言借笙。
由羅伯特·格瑞史莫,羅勃·派克(Rob Pike)及肯·湯普遜于2007年9月開始設計Go疗认,稍后Ian Lance Taylor完残、Russ Cox加入項目。Go是基于Inferno操作系統(tǒng)所開發(fā)的横漏。Go于2009年11月正式宣布推出谨设,成為開放源代碼項目,支持Linux缎浇、macOS扎拣、Windows等操作系統(tǒng)。在2016年素跺,Go被軟件評價公司TIOBE 選為“TIOBE 2016 年最佳語言”二蓝。

Go的語法接近C語言,但對于變量的聲明有所不同指厌。Go支持垃圾回收功能刊愚。Go的并行計算模型是以東尼·霍爾的通信順序進程(CSP)為基礎,采取類似模型的其他語言包括Occam和Limbo踩验,但它也具有pipeline模型的特征鸥诽,比如通道傳輸。在1.8版本中開放插件(Plugin)的支持箕憾,這意味著現(xiàn)在能從Go中動態(tài)加載部分函數(shù)牡借。

與C++相比,Go并不包括如枚舉袭异、異常處理蓖捶、繼承、泛型扁远、斷言俊鱼、虛函數(shù)等功能,但增加了 切片(Slice) 型畅买、并發(fā)并闲、管道、垃圾回收功能谷羞、接口等特性的語言級支持帝火。Go 2.0版本將支持泛型溜徙,對于斷言的存在,則持負面態(tài)度犀填,同時也為自己不提供類型繼承來辯護蠢壹。

開發(fā)環(huán)境搭建(MaxOS)

安裝 Golang SDK

1.Golang 官網(wǎng),進入下載頁面九巡,選擇對應自己操作系統(tǒng)的版本下載安裝图贸。

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

安裝成功后一般不需要配置環(huán)境變量冕广,直接在命令行輸入 go env 來演張是否安裝成功疏日。

升級Golang

1.從官網(wǎng)下載最新的安裝程序覆蓋安裝,安裝包會替換原有的程序撒汉。

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

關于 GOROOT 和 GOPATH

GOROOT

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

GOPATH

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

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

GOMOD

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

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

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

使用gomod也很簡單在工程目錄下執(zhí)行:go mod init {module name}多望,該命令會創(chuàng)建一個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
)

使用集成開發(fā)環(huán)境開發(fā)Golang程序

在開發(fā)中我使用 Goland 來開發(fā) GO 程序。

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

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

這兩項配置后基本上就可以開心的開發(fā)GO程序了怀偷。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末家厌,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子椎工,更是在濱河造成了極大的恐慌饭于,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,542評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晋渺,死亡現(xiàn)場離奇詭異镰绎,居然都是意外死亡脓斩,警方通過查閱死者的電腦和手機木西,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來随静,“玉大人八千,你說我怎么就攤上這事×敲停” “怎么了恋捆?”我有些...
    開封第一講書人閱讀 158,021評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長重绷。 經(jīng)常有香客問我沸停,道長,這世上最難降的妖魔是什么昭卓? 我笑而不...
    開封第一講書人閱讀 56,682評論 1 284
  • 正文 為了忘掉前任愤钾,我火速辦了婚禮,結果婚禮上候醒,老公的妹妹穿的比我還像新娘能颁。我一直安慰自己,他們只是感情好倒淫,可當我...
    茶點故事閱讀 65,792評論 6 386
  • 文/花漫 我一把揭開白布伙菊。 她就那樣靜靜地躺著,像睡著了一般敌土。 火紅的嫁衣襯著肌膚如雪镜硕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,985評論 1 291
  • 那天返干,我揣著相機與錄音兴枯,去河邊找鬼。 笑死犬金,一個胖子當著我的面吹牛念恍,可吹牛的內容都是我干的六剥。 我是一名探鬼主播,決...
    沈念sama閱讀 39,107評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼峰伙,長吁一口氣:“原來是場噩夢啊……” “哼疗疟!你這毒婦竟也來了?” 一聲冷哼從身側響起瞳氓,我...
    開封第一講書人閱讀 37,845評論 0 268
  • 序言:老撾萬榮一對情侶失蹤策彤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后匣摘,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體店诗,經(jīng)...
    沈念sama閱讀 44,299評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,612評論 2 327
  • 正文 我和宋清朗相戀三年音榜,在試婚紗的時候發(fā)現(xiàn)自己被綠了庞瘸。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,747評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡赠叼,死狀恐怖擦囊,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情嘴办,我是刑警寧澤瞬场,帶...
    沈念sama閱讀 34,441評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站涧郊,受9級特大地震影響贯被,放射性物質發(fā)生泄漏。R本人自食惡果不足惜妆艘,卻給世界環(huán)境...
    茶點故事閱讀 40,072評論 3 317
  • 文/蒙蒙 一彤灶、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧双仍,春花似錦枢希、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至逗物,卻和暖如春搬卒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背翎卓。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評論 1 267
  • 我被黑心中介騙來泰國打工契邀, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人失暴。 一個月前我還...
    沈念sama閱讀 46,545評論 2 362
  • 正文 我出身青樓坯门,卻偏偏與公主長得像微饥,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子古戴,可洞房花燭夜當晚...
    茶點故事閱讀 43,658評論 2 350

推薦閱讀更多精彩內容

  • 備注:本猿翻譯水平有限欠橘,請各位看客見諒 翻譯內容: go1.11 版本中 go help modules文檔內容 ...
    星云數(shù)聯(lián)閱讀 2,513評論 0 1
  • 一、Go的包設計理念 1.代碼盒子 在Go程序中现恼,包是代碼模塊組織的單位肃续,為項目代碼組織結構,提高代碼的可讀性叉袍、重...
    GoFuncChan閱讀 475評論 0 0
  • 上上個禮拜我想吃薯條始锚,想去買,然后我媽讓我陪她去超市喳逛,結果薯條沒買成瞧捌,老媽就給我做土豆絲作為補償,結果艺配,燒成了土豆...
    三金二木夕閱讀 117評論 0 1
  • 記得小時候自己是一個特別自律的小孩察郁,小學時候就堅持每天五點多起來去學校跑步衍慎,一直學習也很認真转唉,有點死學習那種,...
    一粒童心閱讀 535評論 0 2
  • 窗外稳捆,烏云密布赠法,大氣層越來越低,風一陣緊過一陣乔夯,竹林在風的吹動下砖织,彎了腰,拼命搖擺末荐,枯黃的竹葉順風而下侧纯,朝著我窗戶...
    周嫻玲閱讀 444評論 2 3