15分钟学Go 第2天:安装Go环境

第2天:安装Go环境

1. 引言

在学习Go语言之前,首先需要配置好本地开发环境。本节将详细介绍如何在Windows 11上安装和配置Go语言环境,包括安装步骤、环境变量设置、VS Code配置与测试、以及常见问题解决方案。完成这些步骤后,你将能够顺利编写和运行你的Go语言代码。

2. 安装Go语言

2.1 下载Go安装包

  1. 访问Go官方网站:打开你的浏览器,访问 Go语言官方网站。

  2. 选择合适的版本:在下载页面上,你会看到最新版本的Go语言。根据你的操作系统选择相应的安装包。对于Windows用户,选择“Windows installer”或“Windows ZIP file”。

2.2 安装步骤

2.2.1 使用Windows安装程序
  1. 双击安装包:下载完成后,双击go1.x.x.windows-amd64.msi(版本号会有所不同)。

  2. 安装向导

    • 点击“下一步”。
    • 阅读并接受许可协议。
    • 选择安装位置,默认位置为C:\Go(可以保持默认)。
  3. 完成安装:点击“安装”,等待安装完成后,选择“完成”。

2.2.2 验证安装
  1. 打开命令提示符

    • 按下Windows + R,输入cmd,然后回车。
  2. 输入命令

    go version
    

    如果显示Go语言的版本信息,说明安装成功。

2.3 手动配置环境变量

虽然安装程序通常会自动设置环境变量,但我们仍然需要确保以下变量正确设置。

2.3.1 设置GOROOT和GOPATH
  1. 打开系统环境变量设置

    • 右键点击“此电脑”,选择“属性”。
    • 点击“高级系统设置”。
    • 在“系统属性”窗口中,点击“环境变量”。
  2. 设置GOROOT

    • 在“系统变量”区块中,点击“新建”。
    • 变量名:GOROOT
    • 变量值:C:\Go(与安装路径一致)。
  3. 设置GOPATH

    • 同样在“系统变量”中,点击“新建”。
    • 变量名:GOPATH
    • 变量值:%USERPROFILE%\go(也可以根据个人喜好设置路径)。
  4. 修改PATH变量

    • 找到系统变量中的Path,点击“编辑”。
    • 点击“新建”并添加以下路径:
      • %GOROOT%\bin
      • %GOPATH%\bin
  5. 确认设置

    • 点击“确定”保存所有更改,并关闭所有窗口。

2.4 创建工作目录

Go语言的工作空间通常需要一个特定的目录结构。确保你的工作目录已正确创建。

  1. 打开命令提示符,输入以下命令:
    mkdir %GOPATH%
    mkdir %GOPATH%\src
    mkdir %GOPATH%\bin
    mkdir %GOPATH%\pkg
    
    这将会在你用户目录下创建go文件夹,并包含srcbinpkg子目录。

3. 安装VS Code

3.1 下载VS Code

  1. 访问VS Code官网:前往 Visual Studio Code官网。
  2. 选择下载:选择适合Windows的下载选项。

3.2 安装VS Code

  1. 双击安装程序:下载完成后,双击VSCodeSetup.exe
  2. 跟随安装向导:按照提示完成安装,保留默认选项。

3.3 安装Go扩展

  1. 打开VS Code
  2. 访问扩展市场:在左侧栏中点击方块图标(扩展)。
  3. 搜索Go:在搜索框中输入“Go”,找到由Go团队发布的扩展。
  4. 安装扩展:点击“安装”按钮。

3.4 配置Go语言环境

  1. 打开命令面板:按下Ctrl + Shift + P
  2. 输入Go: Install/Update Tools:选择该命令并按照提示安装所需的工具,这些工具将帮助你编译和运行Go代码。

4. 编写和运行第一个Go程序

4.1 创建Hello World程序

4.1.1 编写代码
  1. 创建工作目录:在%GOPATH%\src下创建一个新的文件夹,例如hello
  2. 创建main.go文件:在hello文件夹中,创建一个名为main.go的文件,输入以下代码:
package mainimport "fmt"func main() {fmt.Println("Hello, World!")
}

4.2 运行程序

4.2.1 使用命令行运行
  1. 打开命令提示符,导航到程序目录:
    cd %GOPATH%\src\hello
    
  2. 运行程序
    go run main.go
    
4.2.2 使用VS Code运行
  1. 打开VS Code,在VS Code中打开刚才创建的main.go文件。
  2. 运行代码:使用快捷键Ctrl + F5,或点击右上角的“运行”按钮。

4.3 运行流程图

下面是“Hello, World!”程序的运行流程图:

+-----------------+
| 程序启动         |
+-----------------+|v
+-----------------+
| 导入fmt包      |
+-----------------+|v
+-----------------+
| 执行main函数    |
+-----------------+|v
+-----------------+
| 打印"Hello,    |
| World!"         |
+-----------------+|v
+-----------------+
| 程序结束        |
+-----------------+

5. 常见问题及解决方案

5.1 问题1:Go命令未找到

如果在命令提示符中运行go version时出现“不是内部或外部命令”的错误,请检查Go的安装路径和环境变量设置。

解决方案

  • 确保“GOROOT”和“GOPATH”已设置,并且“Path”包含%GOROOT%\bin%GOPATH%\bin

5.2 问题2:无法运行Go程序

如果在VS Code中运行程序时遇到问题,确保已正确安装Go扩展。

解决方案

  • 确保VS Code已安装Go扩展,并重启VS Code。

5.3 问题3:无法连接网络

在使用Go时,如果出现网络问题,确保网络连接正常,这对下载依赖关系至关重要。

解决方案

  • 检查网络连接,确保防火墙没有阻止Go的网络访问。

6. 总结

通过本节的学习,你已经成功在Windows 11上安装并配置了Go语言开发环境,包括Go语言本身、VS Code和必要的插件。同时,你还创建并运行了一个简单的Go程序,熟悉了工作流程。接下来,你可以开始深入学习Go语言的基本语法与编程概念。


怎么样今天的内容还满意吗?再次感谢观众老爷的观看,关注下方GZH,回复666,送您价值199的AI大礼包。最后,祝您早日实现财务自由,还请给个赞,谢谢!
在这里插入图片描述

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

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

相关文章

Java项目-基于springboot框架的基于协同过滤算法商品推荐系统项目实战(附源码+文档)

作者:计算机学长阿伟 开发技术:SpringBoot、SSM、Vue、MySQL、ElementUI等,“文末源码”。 开发运行环境 开发语言:Java数据库:MySQL技术:SpringBoot、Vue、Mybaits Plus、ELementUI工具:IDEA/…

Android 中获取和读取短信验证码

方法一:通过 SMS Retriever API SMS Retriever API 是 Google 提供的一种安全的方式,可以从系统中获取不需要权限的短信验证码。这种方式不需要请求 READ_SMS 权限,非常适合处理短信验证码的情况。 1. 在 build.gradle 中添加依赖 dependen…

Kettle9.4支持Clickhouse数据源插件开发以及性能测试

前言 最近业务这边有个指标需要用到大数据这边的列式数据库进行处理,由于kettle不支持clickhouse数据源驱动,这里查了一下网上的相关资料,发现了一些别人开发好的驱动包,下载下来后使用效果不尽人意。总结下来有以下几个问题&…

【已解决】【Hadoop】 Shell命令易错点及解决方法

Hadoop是一个强大的分布式系统,用于处理大规模数据集。在使用Hadoop的过程中,熟练掌握其Shell命令是必不可少的。本文将介绍几个常用的Hadoop Shell命令,并总结一些常见的操作错误及其解决方法。 Hadoop Shell命令简介 Hadoop提供了多种She…

quic-go源码一---server启动

前言: 走马观花地看了RFC 9000:QUIC: A UDP-Based Multiplexed and Secure Transport, 感受不是那么直观,所以再来看看这个协议的golang语言实现:quic-go,加强学习。 https://quic-go.net/docs/quic/quic-go文档 本篇准备的代…

基于R语言机器学习方法在生态经济学领域中技术应用

近年来,人工智能领域已经取得突破性进展,对经济社会各个领域都产生了重大影响,结合了统计学、数据科学和计算机科学的机器学习是人工智能的主流方向之一,目前也在飞快的融入计量经济学研究。表面上机器学习通常使用大数据&#xf…

linux命令之lvdisplay用法

lvdisplay 显示逻辑卷属性 补充说明 lvdisplay命令 用于显示LVM逻辑卷空间大小、读写状态和快照信息等属性。如果省略"逻辑卷"参数,则lvdisplay命令显示所有的逻辑卷属性。否则,仅显示指定的逻辑卷属性。 语法 lvdisplay(参数)参数 逻辑…

证件照小程序源码,前后端稳定运行

演示:证寸照制作 运行环境: Linux Nginx PHP >5.6 MySQL>5.6 安装步骤: 1.下载源码上传至你的服务器宝塔面板 2.直接添加站点选择源码目录,新建数据库 3.设置代码执行目录为/web 4.在浏览器中输入你的域名,会提示安装,填写…

SpringBoot02:第一个springboot程序

3、第一个springboot程序 3.1、准备工作 我们将学习如何快速的创建一个Spring Boot应用,并且实现一个简单的Http请求处理。通过这个例子对Spring Boot有一个初步的了解,并体验其结构简单、开发快速的特性。 我的环境准备: java version "…

清朝笔记()

文章目录 刘罗锅是宰相吗?和珅和刘墉的实力 不知不觉中看了那么多清朝的狗血剧,不敢说多专业,和常规观众一样,应该也有些了解,其中有很多有趣的事情,做个笔记吧。 刘罗锅是宰相吗? 和珅和刘墉的实力

响应式轮播图 高级轮播

最近看到了一个轮播效果图&#xff0c;来自于B站UP主山羊の前端小窝&#xff0c;于是照着效果封装了一个 vue组件。 顺便做了一点改进&#xff0c;让整个轮播前后连贯起来。 效果图 轮播效果图 应用 index.vue <script setup lang"ts"> import Carousel fr…

智能优化算法-禁忌搜索算法(TS)(附源码)

目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1.内容介绍 禁忌搜索优化算法 (Tabu Search, TS) 是一种基于局部搜索的元启发式优化算法&#xff0c;由Fred Glover于1986年提出。TS通过引入“禁忌表”来避免重复搜索已经访问过的解&#xff0c;从而跳出局部最优解&#…

LeetCode718:最长重复子数组

题目链接&#xff1a;718. 最长重复子数组 - 力扣&#xff08;LeetCode&#xff09; 代码如下 class Solution { public:int findLength(vector<int>& nums1, vector<int>& nums2) {//dp[i][j]是以i-1为结尾和j-1为结尾的最长重复子数组//dp[i][j] dp[i…

十四、MySQL事务日志

文章目录 1. redo日志1.1 为什么需要REDO日志1.2 REDO日志的好处、特点1.2.1 好处1.2.2 特点1.3 redo的组成1.4 redo的整体流程1.5 redo log 的刷盘策略1.6 不同刷盘策略演示1.7 写入redo log buffer 过程1.7.1 补充概念:Mini-Transaction1.7.2 redo 日志写入log buffer1.7.3 …

Java-对一个List进行groupingBy分组操作同时保持原有的排序

在Java 8中,如果你想要对一个List进行分组操作同时保持原有的排序,可以使用Stream API结合 Collectors.groupingBy方法来实现。以下是一些关键点: 保持原有顺序:为了确保分组后的结果保持原有元素的顺序,可以使用LinkedHashMap作为收集 器的目标集合。LinkedHashMap会按…

[DB] NSM

Database Workloads&#xff08;数据库工作负载&#xff09; 数据库工作负载指的是数据库在执行不同类型任务时所需的资源和计算方式&#xff0c;主要包括以下几种类型&#xff1a; 1. On-Line Transaction Processing (OLTP) 中文&#xff1a;联机事务处理解释&#xff1a;…

如何使用DockerSpy检测你的Docker镜像是否安全

关于DockerSpy DockerSpy是一款针对Docker镜像的敏感信息检测与安全审计工具&#xff0c;该工具可以帮助广大研究人员在Docker Hub上检测和搜索自己镜像的安全问题&#xff0c;并识别潜在的泄漏内容&#xff0c;例如身份验证密钥等敏感信息。 功能介绍 1、安全审计&#xff1a…

Isaac Sim sensor插件报UnicodeDecodeError错误

在使用isaac sim或isaac lab时&#xff0c;如果涉及传感器插件&#xff0c;omni.isaac.sensor&#xff0c;可能会遇到如下编码错误&#xff0c;导致传感器无法正常使用。这个错误在isaac sim历代版本里一直都存在。 2024-10-22 08:42:59 [4,085ms] [Error] [carb.scripting-py…

基于yolov10的驾驶员抽烟打电话安全带检测系统python源码+pytorch模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv10的驾驶员抽烟、打电话、安全带检测系统是一种先进的驾驶行为监测系统。该系统利用YOLOv10算法的高效性和准确性&#xff0c;实现对驾驶员行为的实时检测与识别。 YOLOv10是一种最新的实时物体检测模型&#xff0c;其通过深度学习技术&#xff0c;如卷…

【网络原理】HTTP协议

目录 前言 一.什么是HTTP HTTP报文格式 HTTP的请求格式 1.首行 2.请求头&#xff08;header&#xff09; 3.空行 4.正文&#xff08;body&#xff09; HTTP的响应格式 1.首行 2.响应头 3.空行 4.正文&#xff08;body&#xff09; 首行中的方法 GET和POST的区别 …