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


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

  • 推荐:「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 mainimport "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.mzph.cn/bicheng/1298.shtml

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

相关文章

Linux操作系统·Linux简介

1.世界上第一个完善的网络操作系统 Unix是1969年由美国电话电报公司(AT&T)贝尔实验室的两个工程师所创造的操作系统,它允许计算机同时处理多用户和程序。目前大型政府单位、大型企业、航空公司、金融机构多在使用,价钱昂贵,但性能和稳定性…

IoTDB数据库整合MyBatis实现SpringBoot项目CRUD

遇到的问题: 1.启动项目提示:testWhileIdle is true, validationQuery not set。 2023-04-26 14:05:39.282 ERROR 13864 --- [ main] com.alibaba.druid.pool.DruidDataSource : testWhileIdle is true, validationQuery not set原因&#…

车载诊断的基本框架和概念

车载诊断的基本框架和概念 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不…

springboot+java照相馆预约管理系统ssm

框架:ssm/springboot都有 jdk版本:1.8 及以上 ide工具:IDEA 或者eclipse 数据库: mysql 编程语言: java 前端:layuibootstrapjsp 详细技术:HTMLCSSJSjspspringmvcmybatisMYSQLMAVENtomcat 开发工具 IntelliJ IDEA: 一…

es6编程风格

目录 1、变量let和常量const 2、静态字符串与动态字符串 3、解构赋值(数组,对象) 4、对象 5、数组 6、函数 7、Map结构 8、class类 9、模块 10、ESLint的使用 1、变量let和常量const ES6 提出了两个新的声明变量的命令:…

回归预测 | Matlab实现BO-RF贝叶斯优化随机森林多变量回归预测

回归预测 | Matlab实现BO-RF贝叶斯优化随机森林多变量回归预测 目录 回归预测 | Matlab实现BO-RF贝叶斯优化随机森林多变量回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现BO-RF贝叶斯优化随机森林多变量回归预测; 2.输入7个特征&#xf…

C语言扫雷游戏完整版、标记、取消标记、自动拓展

文章目录 前言一、扫雷完整代码总结 前言 用C语言实现扫雷游戏,标记功能,取消标记功能,自动拓展功能,标记只是雷,并且数量等于雷的数量,自动获胜。 一、扫雷完整代码 // test.c 源文件 #define _CRT_SECU…

Linux Supervisor进程控制系统完全教程

一、简介 Supervisor是一个进程控制系统,它使用户能够监视和控制类unix操作系统进程。它通过提供基于配置或事件启动、停止和重新启动进程的机制,帮助管理应该在系统中连续运行的进程。对于需要控制和监视Linux或其他类unix操作系统上多个进程的状态的开…

如何设置unbuntu时间及同步时间

文章目录 时区时间同步与服务 时间同步的重要性Ubuntu系统中设置时间和同步时间方法一:通过图形界面设置查看当前时间设置时间和时区设置时区(假设设置为UTC):设置本地时间(例如,设置时间为2024年4月21日 1…

String、StringBuilder、StringBuffer区别;String底层详解,实例化、拼接、比较;String为什么不可变

文章目录 0、前言一、String、StringBuilder、StringBuffer区别二、String简介2.1 String类特点2.2 创建String对象、String实例化2.2.1 实例化方法2.2.2 String str1"abc"和String str2new String("abc")区别 2.3 String的比较2.4 String类的“加法”2.5 …

idea的maven打包只有几kb

在pom.xml文件中添加以下&#xff1a; <plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.3.4.RELEASE</version><configuration><!-- 指定该Main Class…

【youcans电力电子仿真 03】Boost变换电路

【youcans电力电子仿真 03】Boost变换电路 Boost变换电路是Buck变换电路的对偶拓扑&#xff0c;也属于非隔离型直流变换器&#xff0c;其输出电压大于输入电压。Boost变换电路具有效率高、输出稳定、控制简单和成本低的优点&#xff0c;广泛应用于电子设备、光伏发电、无线通信…

了解MySQL InnoDB多版本MVCC(Multi-Version Concurrency Control)

了解MySQL InnoDB多版本MVCC&#xff08;Multi-Version Concurrency Control&#xff09; 在数据库管理系统中&#xff0c;多版本并发控制&#xff08;MVCC&#xff09;是一种用于实现高并发和事务隔离的技术。MySQL的InnoDB存储引擎支持MVCC&#xff0c;这使得它可以在提供高…

伪分布Hadoop下安装Hive

一、下载并安装Mysql &#xff08;1&#xff09;下载mysql安装包&#xff08;mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar&#xff09; 下载官网&#xff1a;MySQL :: Download MySQL Community Server (Archived Versions)https://downloads.mysql.com/archives/community/ &…

Linux-用户管理类命令实训

掌握Linux各类命令的使用方法。熟悉Linux操作环境。掌握常用文件目录类命令掌握常用系统信息类命令了解其他常用命令 一、文件与目录管理 &#xff08;1&#xff09;查看根目录下有哪些内容 &#xff08;2&#xff09;进入/tmp目录&#xff0c;以自己的学号建一个目录&#x…

HTML部分常用标签补充

table&#xff08;布局方面不建议使用&#xff0c;而是使用CSS来完成&#xff09;: 标签解释&#xff1a; ~table标签顾名思义&#xff0c;是表格的意思 ~table其中可以使用boder属性来显示表格的线&#xff0c;最好使用CSS来配合HTML的使用 ~table内的内容可以使用colspan来定…

Vue2slot插槽(理解与应用)

1、插槽的概念 插槽&#xff08;Slot)是vue为组件的封装者提供的能力。允许开发者在封装组件时&#xff0c;把不确定的、希望由用户指定的部分定义为插槽。 举个例子&#xff1a;组件好比小霸王游戏机&#xff0c;插槽就是游戏机的插口&#xff0c;看用户插什么卡&#xff0c;就…

【论文精读】Attention is all you need

摘要 主要的序列转换模型是基于复杂的循环或卷积神经网络&#xff0c;其中包括一个编码器和一个解码器。性能最好的模型还通过一种注意力机制将编码器和解码器连接起来。我们提出了一种新的简单的网络架构&#xff0c;Transformer&#xff0c;完全基于注意机制&#xff0c;完全…

vue中 export default 与 export 写法的区别

文章目录 1、export default 用法1.1、定义函数1.2、使用 2、export 用法2.1、定义函数2.1、使用1&#xff09;使用方法1&#xff1a;一次性导入所有函数2&#xff09;使用方法2&#xff1a;按需导入函数&#xff0c;使用 **大括号** 3、总结 1、export default 用法 1.1、定义…

24五一杯资料汇总!!!!

以下内容为23年五一杯内容&#xff0c;24年也将会按时更新资料&#xff01;&#xff01;&#xff01; 问题1&#xff1a;给定建筑物数据&#xff0c;假设该建筑物内温度需要一直保持在18-26度&#xff0c;在温度不适宜的时候要通过电来调节温度&#xff0c;消耗一度电相当于0.…