「GO基础」在Windows上配置VS Code GO语言开发环境

news2024/11/26 17:42:53

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
在这里插入图片描述

  • 推荐:「stormsha的主页」👈,持续学习,不断总结,共同进步,为了踏实,做好当下事儿~
  • 专栏导航
    • Python面试合集系列:Python面试题合集,剑指大厂
    • GO基础学习笔记系列:记录博主学习GO语言的笔记,该笔记专栏尽量写的试用所有入门GO语言的初学者
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 运维系列:总结好用的命令,高效开发
    • 算法与数据结构系列:总结数据结构和算法,不同类型针对性训练,提升编程思维

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

💖The Start💖点点关注,收藏不迷路💖

📒文章目录

  • 1、为什么选择VS Code?
  • 2、下载与安装
  • 3、配置GO编译器环境变量
  • 4、安装GO项目开发插件
  • 5、运行GO项目
    • 5.1、创建并打开一个GO项目
    • 5.2、安装 Code Runner 插件
      • 5.2.1、支持多种编程语言
      • 5.2.2、简单易用
      • 5.2.3、自定义运行配置
      • 5.2.4、支持终端和输出面板
    • 5.3、运行GO项目
  • 6、配置GOPROXY
  • 7、开启Module模式
  • 8、总结


1、为什么选择VS Code?

Go语言采用UTF-8编码,因此从理论上来说,任何文本编辑器都可以用于Go语言的开发。然而,VS Code 凭借其轻量级、功能丰富、跨平台的特性,以及由谷歌官方推出的、并由VS Code团队成员维护的Go语言插件所提供的强大支持和保障,使其成为开发Go项目的绝佳选择之一。此外,VS Code还拥有良好的社区支持,这些都为开发者提供了更好的开发体验。

2、下载与安装

官网下载地址:https://code.visualstudio.com/Download
三大主流平台都支持,请根据自己的电脑平台选择对应的安装包。
在这里插入图片描述
下载好的安装文件,双击安装即可。

3、配置GO编译器环境变量

检查是否已经配置了环境变量

go version

如果已经配置过环境变量则如下图所示:
在这里插入图片描述
如果未配置环境变量继续以下步骤:搜索环境变量
----------

  • 打开系统环境变量编辑面板
  • 点击环境变量按钮
  • 编辑系统环境变量中的 Path 内容,追加GO编译器安装位置 GO编译器安装目录\bin
  • 再次检查能否查询到GO编译器板本,go version

4、安装GO项目开发插件

在这里插入图片描述
该插件提供了丰富的特性,包括代码着色、自动完成、代码片段、快速信息提示、跳转到定义、查找引用、文件大纲、工作区符号搜索、重命名、保存时构建、代码格式化、添加引用以及调试等功能。

5、运行GO项目

5.1、创建并打开一个GO项目

项目位置: D:\stormsha\etab\GoBasic

File-> Open Folder... 打开刚刚创建的GO项目
在这里插入图片描述
文件夹下只有 hello.go 一个文件

package main

import "fmt"

func main() {
	fmt.Println("Hello World !")
}

5.2、安装 Code Runner 插件

Code Runner 是一款适用于 Visual Studio Code(VS Code)的插件,它允许你在编辑器中直接运行多种编程语言的代码片段或文件。该插件的主要特点包括:

5.2.1、支持多种编程语言

Code Runner 支持广泛的编程语言,包括但不限于:C/C++、Java、Python、JavaScript、PHP、Go、Rust 等等,基本所有熟知的编程语言都能运行。

5.2.2、简单易用

Code Runner 提供了一个简单的界面,只需点击编辑器右上角的运行按钮或使用快捷键(默认为 Ctrl+Alt+N)即可运行代码。

5.2.3、自定义运行配置

你可以根据自己的需求自定义运行配置,例如指定运行参数、工作目录、环境变量等。

5.2.4、支持终端和输出面板

Code Runner 可以在终端中运行代码,也可以将运行结果显示在输出面板中。

安装 Code Runner 插件
安装完成后,VS Code 视口就会出现如下运行图标:
在这里插入图片描述

5.3、运行GO项目

使用 Ctrl + Alt + N ,或者点击 Run Code 按钮就可以执行该 go 文件。
在这里插入图片描述

6、配置GOPROXY

Goproxy是一个Go语言的模块代理工具,它的作用是作为Go Module的代理服务器,帮助开发者管理和下载Go语言项目的依赖模块。

可选的代理有如下:

  • https://goproxy.io
  • https://goproxy.cn
  • https://mirrors.aliyun.com/goproxy
go env -w GOPROXY=https://goproxy.cn,direct

注意:direct是必要的

7、开启Module模式

Go Module是Go语言官方引入的依赖管理工具,它的主要作用包括:

依赖管理:Go Module可以帮助开发者管理项目的依赖关系。通过在项目中创建一个go.mod文件,Go Module能够记录项目所依赖的外部包及其版本信息。这样,开发者可以明确指定项目所需的依赖版本,避免因依赖版本不匹配而导致的问题。

版本控制:Go Module支持语义化版本控制(Semantic Versioning),开发者可以通过版本号来指定所需的依赖版本。这有助于确保项目的稳定性和可维护性,因为开发者可以明确知道项目使用了哪些版本的依赖。

灵活的项目布局:使用Go Module,项目不再需要位于传统的GOPATH目录结构下。开发者可以将项目放在任意位置,只要项目根目录中包含go.mod文件即可。这为开发者提供了更大的灵活性,使得项目管理更加方便。

自动下载依赖:当使用Go Module时,开发者只需在代码中导入所需的包,Go工具链会自动下载并安装这些包。这简化了依赖管理的过程,开发者无需手动下载和管理依赖。

支持私有仓库:Go Module还支持从私有仓库中获取依赖。开发者可以通过配置代理或认证信息来访问私有仓库中的依赖包。

可替换依赖:在某些情况下,开发者可能需要替换项目中的某个依赖包。Go Module提供了替换依赖的功能,开发者可以在go.mod文件中指定要替换的依赖及其替换版本。

可验证的依赖图:Go Module会生成一个go.sum文件,记录项目中所有依赖包的哈希值。这样,开发者可以验证项目中的依赖是否被篡改,确保项目的安全性。

总之,Go Module的出现使得Go语言的依赖管理更加规范和便捷,为开发者提供了更好的开发体验。

  • 查看:go env GO111MODULE
  • 开启:go env -w GO111MODULE=on
  • 初始化:go mod init GoBasic
    在这里插入图片描述
    初始化完成后项目根目录下会出现 go.mod 文件
    在这里插入图片描述

8、总结

通过以上步骤,你就成功配置了Go开发环境,可以在VSCode中进行Go开发了。


觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏、分享下吧,非常感谢!👍 👍 👍

🔥🔥🔥道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

💖The End💖点点关注,收藏不迷路💖

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1606801.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结构(八)上】二叉树经典习题

❣博主主页: 33的博客❣ ▶文章专栏分类: Java从入门到精通◀ 🚚我的代码仓库: 33的代码仓库🚚 🫵🫵🫵关注我带你学更多数据结构的知识 目录 1.前言2.经典习题2.1相同的树2.2另一棵子树2.3翻转二叉树2.4平衡二叉树2.5对…

安宝特方案 | AR工业解决方案系列-工厂督查

在工业4.0时代,增强现实(AR)技术正全面重塑传统工业生产,在工厂监督领域,其应用不仅大幅提升了生产效率、监测准确性和规范执行程度,而且为整体生产力带来了质的飞跃。 01 传统挑战与痛点 在制造业生产流程…

机器视觉系统:磁瓦尺寸瑕疵缺陷检测的精准“裁判”(官网)

在电子、通讯和汽车行业中,磁瓦作为关键组件,其尺寸精度和表面质量至关重要。然而,在生产过程中,由于各种因素的影响,磁瓦可能会出现尺寸上的瑕疵和缺陷,如尺寸不符、厚度不均、边缘破损等。这些缺陷不仅影…

浅析STM32H750启动文件

目录 概述 1 启动文件介绍 1.1 启动文件功能 1.2 汇编语言指令 2 启动代码细节 2.1 分配栈空间 2.2 分配堆空间 2.3 中断向量表 2.4 复位程序 2.5 中断服务程序 2.5.1 CPU内部中断程序 2.5.2 CPU内部扩展中断程序 2.6 用户堆栈初始化 3 总结 概述 本文以startup_stm3…

GreatSQL 死锁案例分析

1.背景概述 客户业务发生死锁的报错,根据业务程序日志及业务流程,发现造成死锁的原因是:事务1 delete insert ,事务2 delete insert 2个事务交替执行导致的死锁;由于GAP锁阻塞了插入意向锁,并且当delete…

基于1-wire总线的多路温度监测系统

前言 在现代工业生产和环境监测中,温度是一个关键的参数,它直接影响到生产过程的稳定性和产品质量。为了确保温度控制在安全和有效的范围内,需要一种可靠且高效的多路温度监测系统。随着微电子技术和传感器技术的发展,基于1-Wire…

Redis中的订阅发布(二)

订阅与发布 订阅频道 每当客户端执行SUBSCRIBE命令订阅某个或某些频道的时候,服务器都会将客户端与被订阅的频道 在pubsub_channels字典中进行关联。 根据频道是否已经有其他订阅者,关联操作分为两种情况执行: 1.如果频道已经有其他订阅者&#xff0c…

从零实现诗词GPT大模型:数据集介绍和预处理

专栏规划: https://qibin.blog.csdn.net/article/details/137728228 本章将介绍该系列文章中使用的数据集,并且编写预处理代码,处理成咱们需要的格式。 一、数据集介绍 咱们使用的数据集名称是chinese-poetry,是一个在github上开源的中文诗…

雨润万物生,酒伴谷雨行

谷雨,是中国传统二十四节气之一 标志着中国农历的春季即将结束,夏季即将来临。在古代中国, 谷雨时节是农民开始播种、收获的时节,也是酿酒的好季节。谷雨时节,气温适宜、湿度较高,是酵母繁殖和发酵的好时候。 谷雨时节酿酒不仅仅是普通人们…

37-2 Python 的 requests 库发送 POST 请求

准备 sqlilabs 靶场: 构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客 一、发送 POST 请求 首先使用bp对 sqlilabs 靶场的第12关抓个包,了解这个关卡是如何发包的 打开靶场:本地ip+ /sqli-labs-master/Less-12/ 先随便输入个账号登录如…

Postman之页面简介 V9.31.0

Postman之页面简介 V9.31.0 一、顶部栏二、左部栏三、中部栏四、下部栏 一、顶部栏 (1)new选项框,生成新建请求、集合、环境等 (2)import选项框,可以导入文件、文件夹、链接、文本信息等 (3&…

(2022级)成都工业学院数据库原理及应用实验四: SQL简单查询

写在前面 1、基于2022级软件工程/计算机科学与技术实验指导书 2、成品仅提供参考 3、如果成品不满足你的要求,请寻求其他的途径 运行环境 window11家庭版 Navicat Premium 16 Mysql 8.0.36 实验要求 在实验三的基础上完成下列查询: 1、查询所有…

穿越物联网的迷雾:深入理解MQTT协议

目录标题 1、MQTT简介核心特性 2、MQTT的工作原理通信过程 3、MQTT的消息质量(QoS)4、安全机制5、实践应用环境准备示例项目发布者客户端订阅者客户端 6、最佳实践7、结论8、参考资料 在物联网(IoT)的海洋中,数据像水流…

【ACM列表推荐会议 | EI稳定检索】2024年第四届人工智能、自动化与高性能计算国际会议(AIAHPC 2024)

2024年第四届人工智能、自动化与高性能计算国际会议(AIAHPC 2024) 2024 4th International Conference on Artificial Intelligence, Automation and High Performance Computing 2024第四届人工智能、自动化与高性能计算国际会议(AIAHPC 2024)将于20…

二叉树的最大深度 - LeetCode 热题 37

大家好!我是曾续缘😛 今天是《LeetCode 热题 100》系列 发车第 37 天 二叉树第 2 题 ❤️点赞 👍 收藏 ⭐再看,养成习惯 二叉树的最大深度 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最…

麒麟服务器操作系统自动化安装应答文件制作

原文链接:麒麟服务器操作系统自动化安装应答文件制作 Hello,大家好啊!今天我们将探讨如何为麒麟服务器操作系统制作自动化安装应答文件。在部署大量服务器时,自动化安装是提高效率和确保安装一致性的关键技术。通过使用应答文件&a…

【计算机网络】ip子网划分--超详细例题解析

Hello!这一篇主要是计算机网络中的ip地址子网划分的例题,这里例举了四个题型。保证即便从0也可以掌握!(前面是一些预备知识,不熟悉的小伙伴一定要看下学习下哦~) 这也是博主的学习过程,做题中仅仅我的理解哦。若文章中…

【k8s】:kubectl 命令设置简写启用自动补全功能

【k8s】:kubectl 命令设置简写&启用自动补全功能 1、设置kubectl命令简写2、启用kubectl自动补全功能 💖The Begin💖点点关注,收藏不迷路💖 Kubernetes(K8s)是一个强大的容器编排平台&#…

Grid Controller

完整、易于使用的基于网格的第一人称控制器,具有《格里姆洛克传奇》、《地下城大师》和《巫师》的风格。 网格控制器是一种基于网格的第一人称控制器,设置简单,但具有鲁棒性和通用性。不需要脚本。 特征: 实时或基于回合的移动 平滑移动或即时捕捉到网格位置 倾斜、下降和蹲…

DevOps(七)Jenkins发布第一个流水线任务

Jenkins的流水线(Pipeline)是一种强大的工具,用于定义和管理持续集成和持续交付(CI/CD)过程。它允许你以代码的形式(即"Pipeline as Code")定义整个构建、测试和部署流程,…