欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mac上Go環(huán)境和VS Code的正確安裝與配置方法

 更新時(shí)間:2018年03月14日 11:53:51   投稿:wdc  
Go語(yǔ)言是一個(gè)新興的語(yǔ)言。下面介紹一下如何在Mac系統(tǒng)下安裝和使用這個(gè)語(yǔ)言,Go語(yǔ)言提供了mac下安裝包,可直接下載安裝包點(diǎn)擊安裝

Go語(yǔ)言是Google新推出的結(jié)合了動(dòng)態(tài)語(yǔ)言和靜態(tài)語(yǔ)言?xún)?yōu)勢(shì)的一個(gè)新興的語(yǔ)言。下面介紹一下如何在Mac系統(tǒng)下安裝和使用這個(gè)語(yǔ)言。

1.下載SDK

https://studygolang.com/dl 下載對(duì)應(yīng)的SDK(需要翻墻)

Mac版本如下:

1.1 安裝版:go1.8.darwin-arm64.pkg

下載完成之后,直接雙擊打開(kāi)安裝即可

1.2 壓縮版:go1.8.darwin-arm64.tar

下載完成后需要解壓,然后自己移動(dòng)到要存放的路徑下,并且配置環(huán)境變量等信息。

2.安裝Go環(huán)境

選擇1.8版本的安裝版,雙擊安裝。安裝完成后,打開(kāi)terminal ,輸入如下命令,查看安裝的版本:

go version

3.配置環(huán)境變量

打開(kāi)terminal

3.1 cd ~進(jìn)入用戶(hù)主目錄,

3.2 ls -all查看是否存在.bash_profile

3.3 vim .bash_profile打開(kāi)并編輯該文件

3.4 根據(jù)自己的實(shí)際情況配置路徑,我配置到了外置硬盤(pán)中

export GOPATH=/Volumes/gnhxsk/mygo
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN

GOPATH:日常開(kāi)發(fā)的根目錄,Go從1.1版本到1.7版本必須設(shè)置這個(gè)變量,而且不能和Go的安裝目錄一樣,這個(gè)目錄用來(lái)存放Go源碼,Go的可運(yùn)行文件,以及相應(yīng)的編譯之后的包文件。所以,這個(gè)目錄下面有三個(gè)子目錄:src、bin、pkg

src 存放源代碼(比如:.go .c .h .s等)
pkg 編譯后生成的文件(比如:.a)
bin 編譯后生成的可執(zhí)行文件(為了方便,可以把此目錄加入到$PATH變量中,
如果有多個(gè)gopath,那么使用${GOPATH//://bin:}/bin

GOBIN:是GOPATH下的bin目錄

PATH:環(huán)境變量。需要gobin目錄加入到path路徑下,生成可執(zhí)行文件就可以直接運(yùn)行了。

3.5 退出vim,執(zhí)行下面的命令完成對(duì)golang環(huán)境變量的配置。

source ~/.bash_profile

3.6 go env查看配置后的效果

4.Hellow World

src目錄是開(kāi)發(fā)程序的主要目錄,所有的源碼是放在這個(gè)目錄下面。

例如:$GOPATH/src/mymath表示mymath這個(gè)應(yīng)用包或者可執(zhí)行應(yīng)用,這個(gè)是根據(jù)package是main還是其他來(lái)決定,main的話(huà)是可執(zhí)行應(yīng)用,其他的話(huà)就是應(yīng)用包.

4.1 執(zhí)行如下代碼,在src文件夾下創(chuàng)建mymath文件夾

cd $GOPATH/src
mkdir mymath

4.2 新建文件sqrt.go

package mymath
func Sqrt(x float64) float64{
  z := 0.0
  for i := 0; i < 1000; i ++{
  z -= (z * z - x) / (2 * x)
  }
  return z
}

4.3 編譯應(yīng)用

4.3.1 進(jìn)入對(duì)應(yīng)的應(yīng)用包目錄。然后執(zhí)行g(shù)o install,安裝

4.3.2 在任意目錄下執(zhí)行g(shù)o install mymath,安裝

安裝完成之后,可以進(jìn)入如下目錄,查看應(yīng)用包

cd $GOPATH/pkg/${GOOS}_${GOARCH}
ls
mymath.a

4.4 調(diào)用應(yīng)用包

4.4.1 新建應(yīng)用包

cd $GOPATH/src
mkdir mathapp
cd mathapp
vim mian.go

main.go源碼:

package main
import(
  "mymath"
  "fmt"
)
func main(){
  fmt.Printf("Hello,world. Sqrt(2) = %v\n",mymath.Sqrt(2))
}

4.4.2 編譯程序

進(jìn)入該應(yīng)用目錄,然后執(zhí)行g(shù)o build,那么在該目錄下面會(huì)生成一個(gè)mathapp的可執(zhí)行文件

./mathapp

輸出如下內(nèi)容

Hello,world. Sqrt(2) = 1.414213562373095

4.4.3 安裝該應(yīng)用

進(jìn)入該目錄執(zhí)行g(shù)o install,那么在$GOPATH/bin下增加了一個(gè)可執(zhí)行文件mathapp,在terminal中輸入如下命令可以執(zhí)行

mathapp

也可以輸出如下內(nèi)容

Hello,world. Sqrt(2) = 1.414213562373095

5.安裝VS Code

5.1 到https://code.visualstudio.com下載Visual Studio Code,直接使用

5.2 安裝Go插件

5.2.1 點(diǎn)擊右邊的Extensions圖標(biāo),搜索Go插件,選擇Go進(jìn)行安裝,安裝之后,系統(tǒng)會(huì)提示重啟Visual Studio Code

5.2.2 可以打開(kāi)自動(dòng)保存功能。開(kāi)啟方法:選擇菜單File,勾選

5.2.3 用戶(hù)設(shè)置

在頂部菜單選擇Code->首選項(xiàng)->設(shè)置

{
 "files.autoSave": "off",
 "go.buildOnSave": true,
 "go.lintOnSave": true,
 "go.vetOnSave": true,
 "go.buildFlags": [],
 "go.lintFlags": [],
 "go.vetFlags": [],
 "go.coverOnSave": false,
 "go.useCodeSnippetsOnFunctionSuggest": false,
 "go.formatOnSave": true,
 "go.formatTool": "goreturns",
 "go.goroot": "/usr/local/go",// 你的Goroot
 "go.gopath": "/Volumes/gnhxsk/mygo",// 你的Gopath
}

5.2.4 安裝依賴(lài)包支持

* 自動(dòng)安裝:選擇一個(gè).go文件拖進(jìn)入VS Code,然后VS Code會(huì)提示你安裝依賴(lài)包,選擇install all即可

* 手動(dòng)安裝:打開(kāi)terminal,執(zhí)行以下命令

go get -u -v github.com/nsf/gocode
go get -u -v github.com/rogpeppe/godef
go get -u -v github.com/zmb3/gogetdoc
go get -u -v github.com/golang/lint/golint
go get -u -v github.com/lukehoban/go-outline
go get -u -v sourcegraph.com/sqs/goreturns
go get -u -v golang.org/x/tools/cmd/gorename
go get -u -v github.com/tpng/gopkgs
go get -u -v github.com/newhook/go-symbols
go get -u -v golang.org/x/tools/cmd/guru
go get -u -v github.com/cweill/gotests/...

5.2.5 Visual Studio Code支持Go語(yǔ)言調(diào)試

執(zhí)行以下命令:

go get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlv
brew install go-delve/delve/delve
go get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlv

修改“dlv-cert”證書(shū)

1.打開(kāi)“鑰匙串訪(fǎng)問(wèn)”
2.打開(kāi)菜單->鑰匙串訪(fǎng)問(wèn)->證書(shū)助理->創(chuàng)建證書(shū)
3.名稱(chēng):dIv 身份類(lèi)型:自簽名證書(shū) 證書(shū)類(lèi)型:代碼簽名 并選擇“讓我覆蓋這些默認(rèn)值”
4.單擊“繼續(xù)”,有限期(天數(shù)):365,可以自己修改,3650
5.一直繼續(xù),直到看到“指定用于該證書(shū)的位置”鑰匙串,選擇“系統(tǒng)”并單擊“創(chuàng)建”按鈕
6.重啟Finder,再打開(kāi)“鑰匙串訪(fǎng)問(wèn)”,選擇“系統(tǒng)”,就會(huì)看到創(chuàng)建好的“dlv-cert”證書(shū)
7.右鍵”dlv-cert”證書(shū),選擇“顯示簡(jiǎn)介->信任->代碼簽名”修改為:始終信任
8.打開(kāi)terminal,進(jìn)入到之前安裝好的$GOPATH/src目錄下的dlv源碼文件目錄:github.com/derekparker/delve
9.輸入如下命令就可以重新編譯出一個(gè)帶代碼簽名的dlv執(zhí)行程序

GO15VENDOREXPERIMENT=1 CERT=dlv-cert make install

可能會(huì)遇到的問(wèn)題

The execution file “./dlv -h” always return >> killed:9

stackoverflow解決方式:

I need to do this step below

brew install go-delve/delve/delve
and go to $GOPATH/src/github.com/derekparker
git clone https://github.com/derekparker/delve.git
CERT=dlv-cert make install
(remove old dlv > brew install delve > codesign dlv)

not just run
go get github.com/derekparker/delve/cmd/dlv

and it works now.

重啟Visual Studio Code,就可以完美使用了。推薦插件:vscode-icons

上面即是在Mac上Go環(huán)境和VS Code的正確安裝與配置方法,如果遇到安裝或配置問(wèn)題,可以聯(lián)系我們

相關(guān)文章

  • Golang RSA生成密鑰、加密、解密、簽名與驗(yàn)簽的實(shí)現(xiàn)

    Golang RSA生成密鑰、加密、解密、簽名與驗(yàn)簽的實(shí)現(xiàn)

    RSA 是最常用的非對(duì)稱(chēng)加密算法,本文主要介紹了Golang RSA生成密鑰、加密、解密、簽名與驗(yàn)簽的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-11-11
  • Golang實(shí)現(xiàn)for循環(huán)運(yùn)行超時(shí)后自動(dòng)退出的方法

    Golang實(shí)現(xiàn)for循環(huán)運(yùn)行超時(shí)后自動(dòng)退出的方法

    for循環(huán)對(duì)大家來(lái)說(shuō)應(yīng)該都不陌生,對(duì)于golang來(lái)說(shuō)更是必不可少,所以下面這篇文章就來(lái)給大家介紹了關(guān)于Golang如何實(shí)現(xiàn)for循環(huán)運(yùn)行一段時(shí)間超時(shí)后自動(dòng)退出的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11
  • 詳解Golang函數(shù)式選項(xiàng)(Functional?Options)模式

    詳解Golang函數(shù)式選項(xiàng)(Functional?Options)模式

    什么是函數(shù)式選項(xiàng)模式,為什么要這么寫(xiě),這個(gè)編程模式解決了什么問(wèn)題呢?其實(shí)就是為了解決動(dòng)態(tài)靈活的配置不同的參數(shù)的問(wèn)題。下面通過(guò)本文給大家介紹Golang函數(shù)式選項(xiàng)(Functional?Options)模式的問(wèn)題,感興趣的朋友一起看看吧
    2021-12-12
  • Golang單元測(cè)試與覆蓋率的實(shí)例講解

    Golang單元測(cè)試與覆蓋率的實(shí)例講解

    這篇文章主要介紹了Golang單元測(cè)試與覆蓋率的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • Golang實(shí)現(xiàn)smtp郵件發(fā)送的示例代碼

    Golang實(shí)現(xiàn)smtp郵件發(fā)送的示例代碼

    這篇文章主要為大家詳細(xì)介紹了Golang實(shí)現(xiàn)smtp郵件發(fā)送的相關(guān)知識(shí),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Golang?IOT中的數(shù)據(jù)序列化與解析過(guò)程

    Golang?IOT中的數(shù)據(jù)序列化與解析過(guò)程

    這篇文章主要介紹了Golang?IOT中的數(shù)據(jù)序列化與解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • golang常用手冊(cè)之切片(Slice)原理

    golang常用手冊(cè)之切片(Slice)原理

    本篇文章主要介紹了golang常用手冊(cè)之切片(Slice)原理,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • golang分層測(cè)試之http接口測(cè)試入門(mén)教程

    golang分層測(cè)試之http接口測(cè)試入門(mén)教程

    這篇文章主要介紹了golang分層測(cè)試之http接口測(cè)試入門(mén)教程,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • golang 如何用反射reflect操作結(jié)構(gòu)體

    golang 如何用反射reflect操作結(jié)構(gòu)體

    這篇文章主要介紹了golang 用反射reflect操作結(jié)構(gòu)體的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • go語(yǔ)言實(shí)現(xiàn)mqtt協(xié)議的實(shí)踐

    go語(yǔ)言實(shí)現(xiàn)mqtt協(xié)議的實(shí)踐

    MQTT是一個(gè)基于客戶(hù)端-服務(wù)器的消息發(fā)布/訂閱傳輸協(xié)議。本文主要介紹了go語(yǔ)言實(shí)現(xiàn)mqtt協(xié)議的實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09

最新評(píng)論