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

来源:https://www.cnblogs.com/kohler21/archive/2022/05/03/16218721.html
-Advertisement-
Play Games

VSCode開發環境配置 先到VSCode官網去下載適合自己系統的VSCode安裝軟體 VScode下載地址:https://code.visualstudio.com/Download ### 演示在WIndows下 安裝使用 (1)把vscode安裝軟體準備好 如果不清楚選64位還是32位可以在 ...


VSCode開發環境配置

目錄

先到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

歡迎關註我的公眾號,共同學習


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 今天是vue基礎、vue核心內容第三天,也是最後一天,後面開始進入組件化學習,整個基礎內容以生命周期的結束而結束,不得不說,張天禹把這節課講活了,開始覺得vue是一個有生命的東西,包括前面所說的很多臟活累活都給他做,我們只管調用,說的我都於心不忍如此對待vue了,所以思來想去,我絕對對待它最好的辦法 ...
  • https://www.cnblogs.com/yeungchie/ PyQt5 from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * PySide2 from PySide2.QtWid ...
  • 前言 輸入系統,輸入某個鍵,響應到GamePlay層做對應的事。例如 點擊滑鼠,前進還是開槍之類,是如何響應的。這裡只說應用層邏輯,硬體層邏輯不講述。 詳解 1.問題來源 先看下麵一個例子:跳躍的事件響應堆棧 從上述堆棧我們不難發現,疑惑點主要集中於 APlayerControllerProcess ...
  • 本文參考社長的 TinyWebServer 庖丁解牛 epoll 常用API epoll_create 函數 #include <sys/epoll.h> int epoll_create(int size); 創建一個指示 epoll 內核事件表的文件描述符,該描述符將用作其他 epoll 系統調 ...
  • 多線程筆記(一) 1. sleep()方法和yield()方法 共同點:讓當前線程釋放cpu資源,讓其他線程來運行 不同點:調用sleep()方法後,線程進入到TIMED_WAITING狀態,等待超時後進入RUNNABLE狀態,開始搶占CPU資源。調用yield()方法後,線程進入RUNNABLE狀 ...
  • pandas讀取Excel、csv文件中的數據時,得到的大多是表格型的二維數據,在pandas中對應的即為DataFrame數據結構。在處理這類數據時,往往要根據據需求先獲取數據中的子集,如某些列、某些行、行列交叉的部分等。可以說子集選取是一個非常基礎、頻繁使用的操作,而DataFrame的子集選取 ...
  • 8. 文件讀寫操作 1 #include<iostream> 2 #include<string> 3 #include<fstream> // 讀寫文件 頭文件 4 using namespace std; 5 6 // 文件操作 7 8 // 寫文件 9 void writefile() { 1 ...
  • 以下是我收集的一些問題,有的是網上摘錄的,有的是自己參加面試被問到的,有的是工作或學習時遇到的,等等。 為什麼要記錄這些呢? 一方面,我相信,這樣做對我自己的技術提升是有幫助的。在全文結構上我儘量**使問題連貫地形成知識體系**,而不是堆積的碎片,而且,每個問題我會儘量地給出答案。 另一方面,我希望... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...