Golang(go語言)開發環境配置

語言: CN / TW / HK

VSCode開發環境配置

目錄

    • 先到VSCode官網去下載適合自己系統的VSCode安裝軟體
    • 演示在WIndows下 安裝使用
    • 演示在Linux(Ubuntu/centos)下安裝vscode並使用。
    • 演示在MAC下安裝vscode並使用
  • Windows下搭建Go開發環境-安裝和配置SDK
    • Windows下配置Golang環境變數:
    • Linux下搭建Go開發環境-安裝和配置SDK
    • Mac下搭建Go開發環境-安裝和配置SDK

先到VSCode官網去下載適合自己系統的VSCode安裝軟體

VScode下載地址: https://code.visualstudio.com/Download

演示在WIndows下 安裝使用

(1)把vscode安裝軟體準備好

如果不清楚選64位還是32位可以在我的電腦->右擊->點屬性->即可檢視

(2)雙擊安裝檔案就可以一步一步的安裝,同時你可以自己選擇安裝在哪個盤,一般預設是安裝在C盤。

(3)簡單地使用一下vscode

我是在D盤建立了一個資料夾GoTest,然後建立一個專案資料夾project01,然後又建立了一個包main,在包main下建立了一個go原始檔hello.go。 hello.go的示例程式碼:

package main

import "fmt"

func main() {

  fmt.Println("helloworld")
}

演示在Linux(Ubuntu/centos)下安裝vscode並使用。

(1)先下載Linux版本的vscode安裝軟體。

(2)如果是在Ubuntu下做go開發,建議將vscode安裝到/opt目錄。

(3)將安裝軟體複製到/opt

(4)cd /opt(切換到/opt)

(5)將安裝檔案解決即可

(6)進入解壓後的目錄,即可執行vscode

演示在MAC下安裝vscode並使用

如果你是用的是mac系統,也可以在該系統下進行go開發

(1)下載mac版本的vscode安裝軟體

(2)將vscode安裝軟體傳輸到mac系統。

注意:在預設情況下mac沒有啟動ssh服務,所以需要啟動一下,才能遠端傳輸檔案。

mac系統本身安裝了ssh服務,預設情況下不會開機自啟動。

I. 啟動sshd服務:

sudo lanuchctl load -w /System/Library/Launchdamemons/ssh.plist

II. 停止sshd服務

sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist

III. 檢視是否啟動:

sudo launchctl list | grep ssh

如果看到下面的輸出表示成功啟動了

--------------
-0 com.openssh.sshd

(3)將安裝軟體解壓後即可使用

進入到這個解壓後的資料夾(圖形介面),雙擊即可

(4)編寫簡單測試

在使用者所在的目錄,建立了gocode,然後將test.go寫到這個資料夾下

Windows下搭建Go開發環境-安裝和配置SDK

SDK介紹

1) SDK的全稱(SoftwareDevelopmentKit    軟體開發工具包)  
2)SDK是提供給開發人員使用的,其中包含了對應開發語言的工具包

下載SDK工具包

1)Go語言的官網為:golang.org,因為各種原因,可能無法訪問。  
2)SDK下載地址:Golang中國  https://studygolang.com/dl    
3)選擇對應的sdk版本

windows下安裝sdk

1)請注意:安裝路徑不要有中文或者特殊符號如空格等

2)SDK安裝目錄建議:windows一般我安裝在d:,安裝時,基本上是傻瓜式安裝,解壓就可以使用

3)解壓後,我們會看到d:/go目錄,這個是sdk

如何測試我們的go的sdk是否安裝成功:

win鍵+R 輸入cmd開啟命令執行視窗輸入“go version”

如圖即為安裝成功 :

Windows下配置Golang環境變數:

(1)為什麼配置環境變數?

I. 看一個現象:

在命令視窗中輸入go,出現錯誤提示:

II. 原因分析

錯誤原因:

當前執行的程式在當前目錄下如果不存在,windows系統會在系統中已有的個名為path的環境變數指定的目錄中查詢。如果仍未找到,會出現以上的錯誤提示。所以進入到go安裝路徑bin目錄下,執行go,會看到go引數提示資訊

(2)配置環境變數

根據widows系統在查詢可執行程式的原理,可以將Go所在路徑定義到環境變數中,讓系統幫我們去找執行執行的程式,這樣在任何目錄下都可以執行go指令

(3)需要配置的環境變數

配置環境變數的位置:右鍵點選我的電腦->點選屬性->點選高階系統設定->點選環境變數

注:

I. Path這個環境變數不需要在建立,因為系統本身就有,你後面增加即可

II. GOPATH:就是你以後g專案存放的路徑,即工作目錄

III. GOPATH:是一個新建的環境變數

IV. 配置環境變數後, 需要重新開啟一次dos的終端,這樣環境變數才會生效

Linux下搭建Go開發環境-安裝和配置SDK

(1)請注意:安裝路徑不要有中文或者特殊符號如空格等

(2)SDK安裝目錄建議:linux放在/opt目錄下

(3)安裝時,解壓即可,使用的是tar.gz

(4)步驟1:將go1.18.1.linux-amd64.tar.gz傳輸到ubuntu

步驟2:將go1.18.1.linux-amd64.tar.gz複製到/opt下

步驟3:cd/opt

步驟4:tar-zxvf go1.18.1.linux-amd64.tar.gz,解壓後,就可以看到一個go目錄

步驟5:cd go/bin

步驟6:./goversion

(5)Linux配置環境變數 I. 使用root的許可權來編輯vim/etc/profile檔案

II. 如果需要生效的話,需要登出一下(重新登入),再使用

Mac下搭建Go開發環境-安裝和配置SDK

(1)請注意:安裝路徑不要有中文或者特殊符號如空格等

(2)SDK安裝目錄建議:Mac一般放在使用者目錄下godev/go下

(3)安裝時,解壓即可

(4)

步驟1:先將我們的安裝檔案go1.18.1.darwin-arm64.tar.gz上傳到mac

步驟2:先在使用者目錄下,建立一個目錄godev,將上傳的檔案移動到go_dev目錄

步驟3:解壓tar-zxvf go1.18.1.darwin-arm64.tar.gz

步驟4:解壓後,我們會得到一個目錄go, 進入到go/bin就是可以使用

注意: 如果我們不在bin目錄下,就使用不了go程式。因此我們仍然需要配置g的環境變數。

(5) Mac下配置Golang環境變數

I. 使用root使用者,修改/etc/profile增加環境變數的配置

II. 配置完後,需要重新登出使用者,配置才會生效

外掛的安裝

  1. vscode-go 外掛下載:在擴充套件中輸入 go,點選安裝

到目前為止已經可以使用 go 在 vscode 中程式設計了,可以開始 hello world 之旅。

package main

import "fmt"

func main() {
  fmt.Println("Hello world")
}
  1. 在 vscode 中設定 settings.json (在 檔案 -> 首選項 -> 設定 -> 使用者 中找到)
//go
    "go.autocompleteUnimportedPackages": true,
    "go.gocodePackageLookupMode": "go",
    "go.gotoSymbol.includeImports": true,
    "go.useCodeSnippetsOnFunctionSuggest": true,
    "go.inferGopath": true,
    "go.gopath": "E:\\goEV\\gopath",
    "go.goroot": "E:\\goEV\\goev",
    "go.useCodeSnippetsOnFunctionSuggestWithoutType": true
  1. 提示優化:在 vscode 中安裝 go 提示外掛(一般開啟 vscode 會自動提示安裝,如果沒有則需手動安裝。)

安裝外掛彙總:

github.com/ramya-rao-a/go-outline

github.com/acroca/go-symbols

golang.org/x/tools/cmd/guru

golang.org/x/tools/cmd/gorename

github.com/josharian/impl

github.com/rogpeppe/godef

github.com/sqs/goreturns

github.com/golang/lint/golint

github.com/cweill/gotests/gotests

好了, 快試試吧,開啟Go語言開發之旅。

如圖片失效等問題可參閱公眾號文章: https://mp.weixin.qq.com/s/jdhKnUCOTyNOMThaX8sTvA