【golang学习之旅】使用VScode安装配置Go开发环境
- 1. 下载并安装Go
-
- 1.1 下载地址
- 1.2 选择版本并下载
- 1.3 安装目录
- 1.4 验证是否安装成功
- 2. 配置环境变量
-
- 2.1 配置步骤
- 2.2 GO部分环境变量说明
- 3. 下载或更新 Vscode
-
- 3.1 下载地址
- 3.2 安装步骤
- 4. 为Go开发配置VScode
1. 下载并安装Go
1.1 下载地址
https://studygolang.com/dl
1.2 选择版本并下载
我选择了较新的稳定版本 go1.21.11。并且根据自己的系统选择安装包,我是Windows所以选择下面的安装包进行下载:
路径选择可以自定义:
1.3 安装目录
安装好之后安装目录中有如下文件:
目录
介绍
api
go1.1.txt,go.1.2.txt…go1.12.txt存放go的所有版本(go1.1到go.1.21)的api信息
doc
存放Go语言几乎全部的HTML格式的官方文档和说明,方便开发者在离线时查看
bin
存放go的可执行文件。包括gofmt.exe ,go官方的代码格式化工具,用来统一代码风格;godoc.exe 在不联网的情况下在本地访问go的api;go.exe 编译构建整个go项目,贯穿go项目的声明周期,go env; go build; go mod; go install;等等
lib
一些公共的库。存放各类编辑器或IDE(集成开发环境)软件的插件,辅助它们查看和编写Go代码
pkg
在go install 完成后,用于保存go语言标准库的所有归档文件(比如fmt包被构建安装后,将生成一个fmt.a归档文件),同时也包含了和平台(windows,linux,mac)项目的一些目录,不同的操作系统看到不一样
src
存放go所有标准库,go语言工具,以及涉及到的底层库(C语言)实现的代码
test
存放测试go语言的代码文件
1.4 验证是否安装成功
安装完成后,Win + R 打开输入 cmd 打开命令行窗口,然后输入 go version
可以查看 Go 的版本:
2. 配置环境变量
2.1 配置步骤
右键此电脑 → 属性 → 高级系统设置 → 环境变量
新建系统变量
新建GOROOT变量
新建GOPATH变量。GOPATH的目录位置可以自己选择
先自己选择一个目录作为GOPATH,然后在目录中创建以下三个目录:
然后添加GOPATH系统变量
把用户变量里的 GOPATH 也换成自定义的目录
然后编辑用户变量里的 Path
最后可以去看一下系统变量里的 Path(点击 Path然后编辑),一般可以看到 Go 的路径已经配置好了,我们不需要动,这是 Go 在安装时自动配置的。之前用 go version
查看版本号也是因为这里的环境变量,如果以后出现命令未找到等问题,可以回到这里检查。
配置环境完变量后,记得点击「确定」再退出。
最后,Win + R,输入 cmd 打开命令行,输入 go env
可以检查一下,主要是看一下GOROOT和GOPATH这两个变量,应该是和我们前面设置的一致:
2.2 GO部分环境变量说明
go env //打印Go所有默认环境变量
-
GOROOT
环境变量
GOROOT
表示Go语言的安装目录。在
Windows
中,GOROOT
的默认值是C:/go
,而在Mac OS
或Linux
中GOROOT
的默认值是usr/local/go
,如果将Go安装在其他目录中,而需要将GOROOT的值修改为对应的目录。一般我们安装好之后Go会自动配置该变量 -
GOPATH
环境变量
GOPATH
是Go项目的工作目录,按照Go开发规范,GOPATH目录下的每个工作一般分为三个子目录:src
,pkg
,bin
- src目录放的是我们开发的源代码文件,其下面对应的目录称为包
- pkg存放编译后的包文件
- bin存放项目源文件
-
GOBIN
GOBIN用来存放我们的项目代码编译后生成的二进制文件 (可执行文件) 。当我们使用go install命令编译打包我们的项目代码时,它会将编译后生成的二进制文件放入到GOBIN指定的目录下。如果没有指定GOBIN目录,默认是GOPATH/bin
-
GOPROXY
GOPROXY设置的是,go get 下载依赖时使用的代理地址列表。该环境变量也可以设置多个值,多个值之间使用逗号 或竖杠分隔。当用 go 命令查找依赖模块时,它会按顺序访问 GOPROXY 列表中的每个代理,直到收到成功的响应或出现终端错误
-
GOOS
GOOS的值是为其编译代码的操作系统。例如:linux、darwin、windows、netbsd、freebsd、openbsd、solaris
-
GOARCH
GOARCH的值是为其编译代码的CPU架构或处理器。比如amd64、386、arm等
GOARCH和GOOS是成对出现的,比如,如果是macOS系统,那么它们就有以下几种组合形式:
GOOS和GOARCH这两个环境变量用于交叉编译,也就是在一个平台上可以生成在另一个平台上运行的程序,比如在32位的windows操作系统环境中,生成可以在64位Linux操作系统上运行的二进制程序,通常需要借助第三方的工具才能够实现。但是在GO语言中,只需要设置GOOS和GOARCH这两个环境变量就可以实现
3. 下载或更新 Vscode
3.1 下载地址
https://code.visualstudio.com/Download
3.2 安装步骤
下载 Vscode 安装文件
下载完成单击安装文件开始进行安装
自定义安装目录
选择附加任务
准备安装
正在安装(几秒钟就安装成功了)
4. 为Go开发配置VScode
打开终端并执行:
在vscode界面按键盘ctrl+shift+p
,输入Go: install/update tools
,回车如下图,选择要安装的依赖(这里全选),等待安装完成
相关文章:

【golang学习之旅】使用VScode安装配置Go开发环境
1. 下载并安装Go 1.1 下载地址1.2 选择版本并下载1.3 安装目录1.4 验证是否安装成功 2. 配置环境变量 2.1 配置步骤2.2 GO部分环境变量说明 3. 下载或更新 Vscode 3.1 下载地址3.2 安装步骤 4. 为Go开发配置VScode 1. 下载并安装Go 1.1 下载地址 https://studygolang.com/dl…...
langchain教程-2.prompt
前言 该系列教程的代码: https://github.com/shar-pen/Langchain-MiniTutorial 我主要参考 langchain 官方教程, 有选择性的记录了一下学习内容 这是教程清单 1.初试langchain2.prompt3.OutputParser/输出解析4.model/vllm模型部署和langchain调用5.DocumentLoader/多种文档…...
GGML、GGUF、GPTQ 都是啥?
GGML、GGUF和GPTQ是三种与大型语言模型(LLM)量化和优化相关的技术和格式。它们各自有不同的特点和应用场景,下面将详细解释: 1. GGML(GPT-Generated Model Language) 定义:GGML是一种专为机器学习设计的张量库,由Georgi Gerganov创建。它最初的目标是通过单一文件格式…...

C++ 原码、反码、补码和位操作符
目录 一、原码、反码、补码 二、位操作符 1、左移操作符是双⽬操作符 移位规则:左边抛弃、右边补 0 2、右移操作符是双⽬操作符 逻辑右移:左边⽤ 0 填充,右边丢弃算术右移:左边⽤原该值的符号位填充,右边丢弃 3、…...

idea中git版本回退
idea中git版本回退 将dev分支代码合并到master分支执行回退步骤 将dev分支代码合并到master分支 #合并成功之后 执行回退步骤 #在指定的版本上 右键 #这里选择【Hard】彻底回退 #本地的master分支回退成功 #将本地的master强制推送到远程,需要执行命令 git p…...
【PostgreSQL内核学习 —— (WindowAgg(三))】
WindowAgg set_subquery_pathlist 部分函数解读check_and_push_window_quals 函数find_window_run_conditions 函数执行案例总结 计划器模块(set_plan_refs函数)set_windowagg_runcondition_references 函数执行案例 fix_windowagg_condition_expr 函数f…...
redis教程
Redis 教程 Redis 是一个开源的内存数据结构存储系统,用作数据库、缓存和消息代理。以下是一些基础知识和常用操作。 一、简介 Redis 支持多种数据结构,如字符串、哈希、列表、集合、有序集合等。它具有高性能、高可用性和数据持久化的特性。 二、安…...

Python aiortc API
本研究的主要目的是基于Python aiortc api实现抓取本地设备媒体流(摄像机、麦克风)并与Web端实现P2P通话。本文章仅仅描述实现思路,索要源码请私信我。 1 demo-server解耦 1.1 原始代码解析 1.1.1 http服务器端 import argparse import …...

Transaction rolled back because it has been marked as rollback-only问题解决
1、背景 在我们的日常开发中,经常会存在在一个Service层中调用另外一个Service层的方法。比如:我们有一个TaskService,里面有一个execTask方法,且这个方法存在事物,这个方法在执行完之后,需要调用LogServi…...
深入浅出 DeepSeek V2 高效的MoE语言模型
今天,我们来聊聊 DeepSeek V2 高效的 MoE 语言模型,带大家一起深入理解这篇论文的精髓,同时,告诉大家如何将这些概念应用到实际中。 🌟 什么是 MoE?——Mixture of Experts(专家混合模型&#x…...

读书笔记--分布式架构的异步化和缓存技术原理及应用场景
本篇是在上一篇的基础上,主要对分布式应用架构下的异步化机制和缓存技术进行学习,主要记录和思考如下,供大家学习参考。大家知道原来传统的单一WAR应用中,由于所有数据都在同一个数据库中,因此事务问题一般借助数据库事…...

售后板子HDMI无输出分析
问题: 某产品售后有1例HDMI无输出。 分析: 1、测试HDMI的HPD脚(HDMI座子的19pin),测试电压4.5V,属于正常。 2、用万用表直流电压档,测试HDMI的3对数据脚和1对时钟脚(板子通过HDM…...
python3处理表格常用操作
使用pandas库读取excel文件 import pandas as pd data pd.read_excel(D:\\飞书\\近一年用量.xlsx)指定工作表 import pandas as pd data pd.read_excel(D:\\飞书\\近一年用量.xlsx, sheet_nameSheet1)读取日期格式 data pd.read_excel(example.xlsx, parse_dates[Date])添…...
AUX接口(Auxiliary Port)
AUX接口(Auxiliary Port)是网络设备(如路由器、交换机等)上的一个辅助端口,主要用于设备的配置、管理和维护。以下是关于AUX接口的一些关键点: ### 1. **功能** - **设备配置**:通过AUX接口连接…...

计算机毕业设计Python+Vue.js游戏推荐系统 Steam游戏推荐系统 Django Flask 游 戏可视化 游戏数据分析 游戏大数据 爬虫
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
【梦想终会实现】Linux驱动学习5
加油加油坚持住! 1、 Linux驱动模型:驱动模型即将各模型中共有的部分抽象成C结构体。Linux2.4版本前无驱动模型的概念,每个驱动写的代码因人而异,随后为规范书写方式,发明了驱动模型,即提取公共信息组成一…...
Spring 核心技术解析【纯干货版】-Spring 数据访问模块 Spring-Jdbc
在 Spring 框架中,有一个重要的子项目叫做 spring-jdbc。这个模块提供了一种方 便的编程方式来访问基于 JDBC(Java数据库连接)的数据源。本篇博客将详细解析 Spring JDBC 的主要组件和用法,以帮助你更好地理解并使用这个强大的工具…...

Docker 安装详细教程(适用于CentOS 7 系统)
目录 步骤如下: 1. 卸载旧版 Docker 2. 配置 Docker 的 YUM 仓库 3. 安装 Docker 4. 启动 Docker 并验证安装 5. 配置 Docker 镜像加速 总结 前言 Docker 分为 CE 和 EE 两大版本。CE即社区版(免费,支持周期7个月)…...

Mac本地部署DeekSeek-R1下载太慢怎么办?
Ubuntu 24 本地安装DeekSeek-R1 在命令行先安装ollama curl -fsSL https://ollama.com/install.sh | sh 下载太慢,使用讯雷,mac版下载链接 https://ollama.com/download/Ollama-darwin.zip 进入网站 deepseek-r1:8b,看内存大小4G就8B模型 …...

《Angular之image loading 404》
前言: 千锤万凿出深山,烈火焚烧若等闲。 正文: 一。问题描述 页面加载图片,报错404 二。问题定位 页面需要加载图片,本地开发写成硬编码的形式请求图片资源: 然而部署到服务器上报错404 三。解决方案 正确…...

【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...

黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...

使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...