最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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ǔ)言優(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)入用戶主目錄,

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的話是可執(zhí)行應(yīng)用,其他的話就是應(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 用戶設(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 安裝依賴包支持

* 自動(dòng)安裝:選擇一個(gè).go文件拖進(jìn)入VS Code,然后VS Code會(huì)提示你安裝依賴包,選擇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)“鑰匙串訪問(wèn)”
2.打開(kāi)菜單->鑰匙串訪問(wèn)->證書(shū)助理->創(chuàng)建證書(shū)
3.名稱:dIv 身份類型:自簽名證書(shū) 證書(shū)類型:代碼簽名 并選擇“讓我覆蓋這些默認(rèn)值”
4.單擊“繼續(xù)”,有限期(天數(shù)):365,可以自己修改,3650
5.一直繼續(xù),直到看到“指定用于該證書(shū)的位置”鑰匙串,選擇“系統(tǒng)”并單擊“創(chuàng)建”按鈕
6.重啟Finder,再打開(kāi)“鑰匙串訪問(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)文章

  • Go語(yǔ)言使用Gob傳輸數(shù)據(jù)

    Go語(yǔ)言使用Gob傳輸數(shù)據(jù)

    本文主要介紹了Go語(yǔ)言使用Gob傳輸數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • 淺析Go語(yǔ)言容器之?dāng)?shù)組和切片的使用

    淺析Go語(yǔ)言容器之?dāng)?shù)組和切片的使用

    在?Java?的核心庫(kù)中,集合框架可謂鼎鼎大名:Array?、List、Set等等,隨便拎一個(gè)出來(lái)都值得開(kāi)發(fā)者好好學(xué)習(xí)如何使用甚至是背后的設(shè)計(jì)源碼。雖然Go語(yǔ)言沒(méi)有如此豐富的容器類型,但也有一些基本的容器供開(kāi)發(fā)者使用,接下來(lái)讓我們認(rèn)識(shí)一下這些容器類型吧
    2022-11-11
  • Go語(yǔ)言的接口詳解

    Go語(yǔ)言的接口詳解

    這篇文章主要介紹了go語(yǔ)言的接口,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧,希望能夠給你帶來(lái)幫助
    2021-10-10
  • Golang-如何判斷一個(gè)?interface{}?的值是否為?nil

    Golang-如何判斷一個(gè)?interface{}?的值是否為?nil

    interface?的內(nèi)部實(shí)現(xiàn)包含了兩個(gè)字段,一個(gè)是?type,一個(gè)是?data,這篇文章主要介紹了Golang-如何判斷一個(gè)interface{}的值是否為nil,需要的朋友可以參考下
    2023-05-05
  • Go語(yǔ)言sync.Pool對(duì)象池使用場(chǎng)景基本示例

    Go語(yǔ)言sync.Pool對(duì)象池使用場(chǎng)景基本示例

    這篇文章主要為大家介紹了Go語(yǔ)言sync.Pool對(duì)象池使用場(chǎng)景的基本示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • 一文帶你了解Go語(yǔ)言中的指針和結(jié)構(gòu)體

    一文帶你了解Go語(yǔ)言中的指針和結(jié)構(gòu)體

    前面的兩篇文章對(duì)?Go?語(yǔ)言的基礎(chǔ)語(yǔ)法和基本數(shù)據(jù)類型以及幾個(gè)復(fù)合數(shù)據(jù)類型進(jìn)行介紹,本文將對(duì)?Go?里面的指針和結(jié)構(gòu)體進(jìn)行介紹,也為后續(xù)文章做鋪墊,感興趣的可以了解一下
    2022-11-11
  • 基于Go語(yǔ)言實(shí)現(xiàn)文件上傳服務(wù)的示例代碼

    基于Go語(yǔ)言實(shí)現(xiàn)文件上傳服務(wù)的示例代碼

    在 Web 開(kāi)發(fā)中,文件上傳 是常見(jiàn)需求,例如頭像上傳、文檔存儲(chǔ)、圖片分享等功能,Go 語(yǔ)言的標(biāo)準(zhǔn)庫(kù) net/http 已經(jīng)內(nèi)置了對(duì) multipart/form-data 類型的支持,能讓我們輕松構(gòu)建一個(gè)文件上傳服務(wù),本文將帶你實(shí)現(xiàn)一個(gè)可運(yùn)行的文件上傳接口,需要的朋友可以參考下
    2025-08-08
  • 使用Golang編寫(xiě)一個(gè)簡(jiǎn)單的命令行工具

    使用Golang編寫(xiě)一個(gè)簡(jiǎn)單的命令行工具

    Cobra是一個(gè)強(qiáng)大的開(kāi)源工具,能夠幫助我們快速構(gòu)建出優(yōu)雅且功能豐富的命令行應(yīng)用,本文將利用Cobra編寫(xiě)一個(gè)簡(jiǎn)單的命令行工具,感興趣的可以了解下
    2023-12-12
  • axios?gin的GET和POST請(qǐng)求實(shí)現(xiàn)示例

    axios?gin的GET和POST請(qǐng)求實(shí)現(xiàn)示例

    這篇文章主要為大家介紹了axios?gin的GET和POST請(qǐng)求實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • Go語(yǔ)言中多字節(jié)字符的處理方法詳解

    Go語(yǔ)言中多字節(jié)字符的處理方法詳解

    這篇文章主要給大家介紹了關(guān)于Go語(yǔ)言中多字節(jié)字符的處理方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10

最新評(píng)論

山东省| 潞城市| 滨海县| 锡林郭勒盟| 鄯善县| 登封市| 巩义市| 格尔木市| 芦山县| 樟树市| 扶风县| 鹤壁市| 德格县| 老河口市| 深水埗区| 扎鲁特旗| 淮安市| 株洲市| 田阳县| 巫溪县| 天门市| 临高县| 兰溪市| 巴青县| 漯河市| 英超| 虹口区| 巴南区| 苏尼特右旗| 榆林市| 章丘市| 浪卡子县| 巴塘县| 井研县| 安阳市| 宿松县| 铜陵市| 藁城市| 宁陕县| 庆云县| 封开县|