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

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

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

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

1.下載SDK

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

Mac版本如下:

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

下載完成之后,直接雙擊打開安裝即可

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

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

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

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

go version

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

打開terminal

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

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

3.3 vim .bash_profile打開并編輯該文件

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

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

GOPATH:日常開發(fā)的根目錄,Go從1.1版本到1.7版本必須設(shè)置這個(gè)變量,而且不能和Go的安裝目錄一樣,這個(gè)目錄用來存放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í)行下面的命令完成對golang環(huán)境變量的配置。

source ~/.bash_profile

3.6 go env查看配置后的效果

4.Hellow World

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

例如:$GOPATH/src/mymath表示mymath這個(gè)應(yīng)用包或者可執(zhí)行應(yīng)用,這個(gè)是根據(jù)package是main還是其他來決定,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)入對應(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,那么在該目錄下面會生成一個(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)會提示重啟Visual Studio Code

5.2.2 可以打開自動(dòng)保存功能。開啟方法:選擇菜單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會提示你安裝依賴包,選擇install all即可

* 手動(dòng)安裝:打開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語言調(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”證書

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

GO15VENDOREXPERIMENT=1 CERT=dlv-cert make install

可能會遇到的問題

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的正確安裝與配置方法,如果遇到安裝或配置問題,可以聯(lián)系我們

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

    golang分層測試之http接口測試入門教程

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

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

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

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

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

最新評論