golang學習筆記——go語言安裝及系統環境變量設置

文章目錄

  • go語言安裝
  • go env
  • go get
  • goproxy
  • 測試
  • 安裝 Go 插件
  • 安裝 Go 插件依賴工具
  • 參考資料
    • 用戶環境變量和系統環境變量
      • 用戶環境變量
      • 系統環境變量
      • 示例
      • 設置環境變量的步驟
        • 設置用戶環境變量
        • 設置系統環境變量
      • 驗證環境變量
      • 總結
    • 2024年最火的5大Go框架
        • 1. Gin:高并發接口的“秒回神器”
        • 2. Echo:金融大佬的“合規助手”
        • 3. Fiber:前端轉Go的“逃課神器”
        • 4. GoFrame:傳統企業IT的“救世主”
        • 5. Kratos:B站大佬的“屠龍刀”

go語言安裝

下載go1.24.1.windows-amd64.msi

$ go version
go version go1.24.1 windows/amd64

配置三個環境變量:GOROOT、GOPATH、Path

  • 添加系統環境變量GOROOT

    變量名:GOROOT
    變量值:D:\golang
    
  • 修改用戶環境變量GOPATH

    修改前
    C:\Users\username\go
    修改后
    D:\mygopath
    

    修改到非系統盤符,減少空間占用,系統盤大也可以不修改。

  • 修改系統環境變量Path

    D:\golang\bin
    

    采用msi安裝方式,安裝時軟件已經自動添加。bin目錄下有go.exe和gofmt.exe

go env

輸入go env查看環境配置信息

go env 是 Go 語言提供的一個命令行工具,用于顯示當前 Go 環境配置的詳細信息。它可以幫助你了解當前 Go 環境的各種設置,包括但不限于 GOPATH、GOROOT、模塊路徑、編譯器路徑等相關環境變量和配置。

go get

cd D:\code

goproxy

Bash (Linux or macOS)

# 配置 GOPROXY 環境變量
export GOPROXY=https://goproxy.io,direct
# 還可以設置不走 proxy 的私有倉庫或組,多個用逗號相隔(可選)
export GOPRIVATE=git.mycompany.com,github.com/my/private

PowerShell (Windows)

# 配置 GOPROXY 環境變量
$env:GOPROXY = "https://goproxy.io,direct"
# 還可以設置不走 proxy 的私有倉庫或組,多個用逗號相隔(可選)
$env:GOPRIVATE = "git.mycompany.com,github.com/my/private"

測試

mkdir hello
cd hello
go mod init hello
touch main.go

接下來, 將如下的代碼寫入 example.go 中:

package mainimport "github.com/gin-gonic/gin"func main() {r := gin.Default()r.GET("/ping", func(c *gin.Context) {c.JSON(200, gin.H{"message": "pong",})})r.Run() // 監聽并在 0.0.0.0:8080 上啟動服務
}

下載gin

go get -u github.com/gin-gonic/gin

運行項目

go run main.go

訪問http://127.0.0.1:8080/ping

{"message":"pong"}

安裝 Go 插件

VSCode 的插件功能中輸入 go 關鍵字,然后找到下圖中的插件,并安裝。
在這里插入圖片描述

安裝 Go 插件依賴工具

快捷鍵 Ctrl + Shift + p 打開命令面板,輸入go install tools,選擇第一項 Go: install/Update Tools
在這里插入圖片描述
在這里插入圖片描述

參考資料

使用vscode調試wails項目(golang桌面GUI)
vscode遠程免密ssh原理與實操方法
vscode遠程開發沒有代碼提示

用戶環境變量和系統環境變量

在 Windows 10 中,環境變量分為兩種類型:用戶環境變量和系統環境變量。這兩種類型的環境變量在優先級上有一定的區別。具體來說,用戶環境變量的優先級高于系統環境變量。這意味著,當同時設置了用戶環境變量和系統環境變量時,系統會優先使用用戶環境變量。

用戶環境變量

  • 作用范圍:僅對當前登錄的用戶有效。
  • 設置位置
    • 右鍵點擊“此電腦”或“計算機” -> 屬性 -> 高級系統設置 -> 環境變量 -> 用戶變量
  • 優先級:較高,優先于系統環境變量。

系統環境變量

  • 作用范圍:對所有用戶和所有進程有效。
  • 設置位置
    • 右鍵點擊“此電腦”或“計算機” -> 屬性 -> 高級系統設置 -> 環境變量 -> 系統變量
  • 優先級:較低,當存在同名用戶環境變量時,會被覆蓋。

示例

假設你同時設置了用戶變量和系統變量 PATH,內容如下:

  • 用戶變量 PATH: C:\Users\YourUser\go\bin
  • 系統變量 PATH: C:\Program Files\Go\bin

在這種情況下,系統會優先使用用戶變量 PATH,即 C:\Users\YourUser\go\bin

設置環境變量的步驟

設置用戶環境變量
  1. 右鍵點擊“此電腦”或“計算機” -> 屬性 -> 高級系統設置 -> 環境變量。
  2. 在“用戶變量”部分,點擊“新建”按鈕,添加新的用戶變量。
  3. 輸入變量名(如 GOPATH)和變量值(如 C:\Users\YourUser\go)。
  4. 點擊“確定”保存設置。
設置系統環境變量
  1. 右鍵點擊“此電腦”或“計算機” -> 屬性 -> 高級系統設置 -> 環境變量。
  2. 在“系統變量”部分,點擊“新建”按鈕,添加新的系統變量。
  3. 輸入變量名(如 GOPATH)和變量值(如 C:\Go)。
  4. 點擊“確定”保存設置。

驗證環境變量

你可以通過命令提示符或 PowerShell 來驗證環境變量是否設置正確:

echo %GOPATH%

echo $env:GOPATH

總結

  • 用戶環境變量優先級高于系統環境變量
  • 如果同時設置了同名的用戶環境變量和系統環境變量,系統會優先使用用戶環境變量。
  • 用戶環境變量只對當前登錄用戶有效,而系統環境變量對所有用戶和所有進程有效。

希望這些信息對你有幫助!如果有更多問題,歡迎繼續提問。

2024年最火的5大Go框架

1. Gin:高并發接口的“秒回神器”

適用人群:追求極致性能的API狂人

  • 場景:社交平臺消息推送、電商秒殺系統
  • 真實案例:某短視頻App用Gin重構推送服務,單機扛住10萬QPS,運維小哥終于不用半夜爬起來擴容了!
  • 坑點預警:功能太“素”,復雜業務得自己造輪子,新手慎入!
2. Echo:金融大佬的“合規助手”

適用人群:強迫癥式代碼潔癖患者

  • 場景:支付系統、風控平臺
  • 真實案例:某銀行用Echo搭跨境轉賬接口,參數校驗錯誤率直降85%,再也不用背“鍋”了!
  • 吐槽:中間件順序寫錯?恭喜你喜提“玄學BUG”大禮包!
3. Fiber:前端轉Go的“逃課神器”

適用人群:想逃離JavaScript“苦海”的全棧仔

  • 場景:快速驗證產品原型、小團隊全棧開發
  • 真實案例:3人小團隊用Fiber+React兩天擼出在線協作工具,投資人當場打款
  • 扎心真相:底層用了非標庫,第三方插件兼容?自求多福吧!
4. GoFrame:傳統企業IT的“救世主”

適用人群:受夠Java臃腫架構的“轉型難民”

  • 場景:ERP系統、政府政務平臺
  • 真實案例:某車企用GoFrame重構供應鏈系統,開發效率提升40%,項目經理笑出法令紋!
  • 警告:用了它,你就和“簡潔”二字徹底說再見了!
5. Kratos:B站大佬的“屠龍刀”

適用人群:立志挑戰“雙11級別”流量的狠人

  • 場景:億級用戶平臺、分布式微服務
  • 真實案例:某直播平臺用Kratos扛住頂流明星塌房事件,服務器穩如老狗,運維集體跪了!
  • 勸退指南:10人以下團隊別碰!分分鐘被DDD架構繞暈!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/897333.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/897333.shtml
英文地址,請注明出處:http://en.pswp.cn/news/897333.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

3.6c語言

#define _CRT_SECURE_NO_WARNINGS #include <math.h> #include <stdio.h> int main() {int sum 0,i,j;for (j 1; j < 1000; j){sum 0;for (i 1; i < j; i){if (j % i 0){sum i;} }if (sum j){printf("%d是完數\n", j);}}return 0; }#de…

【TI】如何更改 CCS20.1.0 的 WORKSPACE 默認路徑

參考鏈接&#xff1a; 如何更改 CCS Theia 中工作區的默認位置&#xff1f;- Code Composer Studio 論壇 - Code Composer Studio?? - TI E2E 支持論壇 --- How to change the default location for the workspace in CCS Theia? - Code Composer Studio forum - Code Comp…

Vue3中動態Ref的魔法:綁定與妙用

前言 在Vue 3的開發過程中,動態綁定Ref是一項非常實用的技術,特別是在處理復雜組件結構和動態數據時。通過動態綁定Ref,我們可以更靈活地訪問和操作DOM元素或組件實例,實現更高效的交互和狀態管理。本文將詳細介紹如何在Vue 3中實現動態Ref的綁定,并通過實例展示其妙用。…

CarPlanner:用于自動駕駛大規模強化學習的一致性自回歸軌跡規劃

25年2月來自浙大和菜鳥網絡的論文“CarPlanner: Consistent Auto-regressive Trajectory Planning for Large-scale Reinforcement Learning in Autonomous Driving”。 軌跡規劃對于自動駕駛至關重要&#xff0c;可確保在復雜環境中安全高效地導航。雖然最近基于學習的方法&a…

VS Code連接服務器教程

VS Code是什么 VS Code&#xff08;全稱 Visual Studio Code&#xff09;是一款由微軟推出的免費、開源、跨平臺的代碼編輯神器。VS Code 支持 所有主流操作系統&#xff0c;擁有強大的功能和靈活的擴展性。 官網&#xff1a;https://code.visualstudio.com/插件市場&#xff1…

【JavaWeb】Web基礎概念

文章目錄 1、服務器與客戶端2、服務器端應用程序3、請求和響應4、項目的邏輯構成5、架構5.1 概念5.2 發展演變歷程單一架構分布式架構 5.3 單一架構技術體系 6、本階段技術體系 1、服務器與客戶端 ①線下的服務器與客戶端 ②線上的服務器與客戶端 2、服務器端應用程序 我…

安徽省考計算機專業科目2025(持續更新)

目錄 第一部分 計算機科學技術基礎 第一章 計算機及其應用基礎知識 1.1 計算機的特點、分類及其應用 1.2 信息編碼與數據表示&#xff1b;數制及其轉換方法&#xff1b;算術運算和邏輯運算的過程 第一部分 計算機科學技術基礎 第一章 計算機及其應用基礎知識 1.1 計算機…

前端知識點---路由模式-實例模式和單例模式(ts)

在 ArkTS&#xff08;Ark UI 框架&#xff09;中&#xff0c;路由實例模式&#xff08;Standard Instance Mode&#xff09;主要用于管理頁面跳轉。當創建一個新頁面時&#xff0c;可以選擇標準實例模式&#xff08;Standard Mode&#xff09;或單實例模式&#xff08;Single M…

【leetcode hot 100 73】矩陣置零

解法一&#xff1a;&#xff08;使用兩個標記變量&#xff09;用矩陣的第一行和第一列代替方法一中的兩個標記數組&#xff08;col、row[ ]&#xff1a;第幾列、行出現0&#xff09;&#xff0c;以達到 O(1) 的額外空間。 這樣會導致原數組的第一行和第一列被修改&#xff0c;…

【十三】Golang 通道

&#x1f4a2;歡迎來到張胤塵的開源技術站 &#x1f4a5;開源如江河&#xff0c;匯聚眾志成。代碼似星辰&#xff0c;照亮行征程。開源精神長&#xff0c;傳承永不忘。攜手共前行&#xff0c;未來更輝煌&#x1f4a5; 文章目錄 通道通道聲明初始化緩沖機制無緩沖通道代碼示例 帶…

【JAVA架構師成長之路】【電商系統實戰】第12集:秒殺系統性能優化實戰(CAN + Nginx + Sentinel)

30分鐘課程&#xff1a;秒殺系統性能優化實戰&#xff08;CDN Nginx Sentinel&#xff09; 課程目標 掌握靜態資源 CDN 加速的配置與優化策略。通過 Nginx 實現負載均衡&#xff0c;提升系統橫向擴展能力。使用 Sentinel 實現服務降級&#xff0c;保障核心鏈路穩定性。 課程…

K8S學習之基礎十八:k8s的灰度發布和金絲雀部署

灰度發布 逐步擴大新版本的發布范圍&#xff0c;從少量用戶逐步擴展到全體用戶。 特點是分階段發布、持續監控、逐步擴展 適合需要逐步驗證和降低風險的更新 金絲雀部署 將新版本先部署到一小部分用戶或服務器&#xff0c;觀察其表現&#xff0c;再決定是否全面推廣。 特點&…

畢業項目推薦:基于yolov8/yolo11的蘋果葉片病害檢測識別系統(python+卷積神經網絡)

文章目錄 概要一、整體資源介紹技術要點功能展示&#xff1a;功能1 支持單張圖片識別功能2 支持遍歷文件夾識別功能3 支持識別視頻文件功能4 支持攝像頭識別功能5 支持結果文件導出&#xff08;xls格式&#xff09;功能6 支持切換檢測到的目標查看 二、數據集三、算法介紹1. YO…

redis有哪幾種持久化方式

Redis 提供了兩種持久化方式&#xff1a;RDB&#xff08;Redis Database&#xff09; 和 AOF&#xff08;Append-Only File&#xff09;。它們各有優缺點&#xff0c;適用于不同的場景。以下是它們的原理、優缺點以及如何選擇的建議&#xff1a; 1. RDB&#xff08;Redis Datab…

Unity引擎使用HybridCLR(華佗)熱更新

大家好&#xff0c;我是阿趙。 ??阿趙我做手機游戲已經有十幾年時間了。記得剛開始從做頁游的公司轉到去做手游的公司&#xff0c;在面試的時候很重要的一個點&#xff0c;就是會不會用Lua。使用Lua的原因很簡單&#xff0c;就是為了熱更新。 ??熱更新游戲內容很重要。如果…

DeepSeek R1-7B 醫療大模型微調實戰全流程分析(全碼版)

DeepSeek R1-7B 醫療大模型微調實戰全流程指南 目錄 環境配置與硬件優化醫療數據工程微調策略詳解訓練監控與評估模型部署與安全持續優化與迭代多模態擴展倫理與合規體系故障排除與調試行業應用案例進階調優技巧版本管理與迭代法律風險規避成本控制方案文檔與知識傳承1. 環境配…

大白話html語義化標簽優勢與應用場景

大白話html語義化標簽優勢與應用場景 大白話解釋 語義化標簽就是那些名字能讓人一看就大概知道它是用來做什么的標簽。以前我們經常用<div>來做各種布局&#xff0c;但是<div>本身沒有什么實際的含義&#xff0c;就像一個沒有名字的盒子。而語義化標簽就像是有名…

軟件工程---構件

在軟件工程中&#xff0c;構件是一個獨立的、可復用的軟件單元&#xff0c;它具有明確的功能、接口和行為&#xff0c;并且可以在不同的環境中加以集成和復用。構件的概念是軟件架構和組件化開發的核心思想之一&#xff0c;其目的是促進軟件系統的模塊化、可維護性和可擴展性。…

MES機聯網4:文檔資料

目錄信息 MES機聯網1&#xff1a;技術方案MES機聯網2&#xff1a;采集網關MES機聯網3&#xff1a;管理后臺MES機聯網4&#xff1a;文檔資料 MQ接入文檔 1、建立連接 mqtt連接地址: 192.168.0.138 mqtt端口: 1883 mqtt用戶名&#xff1a;admin mqtt密碼&#xff1a;123456 …

“此電腦”中刪除WPS云盤方法(百度網盤通用)

&#x1f4e3;此方法適用于卸載WPS云盤后&#xff0c;WPS云盤圖標依然在此電腦中顯示的問題。 原理&#xff1a;通過注冊來進行刪除 步驟&#xff1a; WIN鍵R,打開運行窗口&#xff0c;輸入regedit命令&#xff0c;來打開【注冊表編輯器】&#xff1b; 從左側&#xff0c;依…