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

news2024/11/26 19:42:59

第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 main

import "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.coloradmin.cn/o/2219637.html

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

相关文章

Excel:vba实现筛选出有批注的单元格

实现的效果:代码: Sub test() Dim cell As RangeRange("F3:I10000").ClearlastRow Cells(Rows.Count, "f").End(xlUp).Row MsgBox lastrow For Each cell In Range("a1:a21")If Not cell.Comment Is Nothing ThenMsgBox…

【AIGC】2024-arXiv-InstantStyle:文本到图像生成中保持风格的免费午餐

2024-arXiv-InstantStyle: Free Lunch towards Style-Preserving in Text-to-Image Generation InstantStyle:文本到图像生成中保持风格的免费午餐摘要1. 引言2. 相关工作2.1 文本到图像的传播模型2.2 风格化图像生成2.3 扩散模型中的注意力控制 3. 方法3.1 动机3.2…

keil中编译遇到错误“error #94-D the size of an array must be greater than zero”解决方法

这一期,我们来看一个在keil中编译时候遇到定义数组元素个数为0时候遇到的一个错误。 错误: 先看错误:编译提示错误“error: #94-D: the size of an array must be greater than zero” ,意思是这个数组内元素个数不能定义为0个&…

【AIGC】解锁高效GPTs:ChatGPT-Builder中系统提示词Prompt的设计与应用

博客主页: [小ᶻZ࿆] 本文专栏: AIGC | ChatGPT 文章目录 💯前言💯系统提示词系统提示词的作用与重要性系统提示词在构建GPTs中的作用结论 💯ChatGPT-Builder系统提示词的详细解读OpenAI为Builder编写的系统提示词系统提示词对…

R语言详解predict函数

R语言中predict函数在建立模型&#xff0c;研究关系时常用。但是不同type得到的结果常常被混为一谈&#xff0c;接下来&#xff0c;探讨predict得到的不同结果。 #数据 set.seed(123) n<-1000 age<-rnorm(n,mean50,sd10) gender<-rbinom(n,1,0.5) disease<-rbinom…

OpenCV高级图形用户界面(12)用于更改指定窗口的大小函数resizeWindow()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::resizeWindow() 函数用于更改指定窗口的大小。这使得你可以根据需要调整窗口的宽度和高度。 注释 指定的窗口大小是指图像区域的大小。工具栏…

Maxwell 底层原理 详解

Maxwell 是一个 MySQL 数据库的增量数据捕获&#xff08;CDC, Change Data Capture&#xff09;工具&#xff0c;它通过读取 MySQL 的 binlog&#xff08;Binary Log&#xff09;来捕获数据变化&#xff0c;并将这些变化实时地发送到如 Kafka、Kinesis、RabbitMQ 或其他输出端。…

字节跳动青训营——入营考核解答(持续更新中~~~)

考核内容&#xff1a; 在指定的题库中自主选择不少于 15 道算法题并完成解题&#xff0c;其中题目难度分配如下&#xff1a; 简单题不少于 10 道中等题不少于 4 道困难题不少于 1 道 解答代码 20. 百分位数&#xff08;中等&#xff09; 代码实现&#xff1a; import jav…

Uiautomator2与weditor配置一直报错咋办

作者在配置这两个的时候绞尽脑汁了&#xff0c;u2的init总是报错并且无法自动在手机上安装atx&#xff0c;weditor可以打开但是只要对元素操作或者任意操作就会让你去重新init&#xff0c;搞得作者焦头烂额&#xff0c;而且网上各种各样的报错信息眼花缭乱&#xff0c;作者几乎…

【深入学习Redis丨第八篇】详解Redis数据持久化机制

前言 Redis支持两种数据持久化方式&#xff1a;RDB方式和AOF方式。前者会根据配置的规则定时将内存中的数据持久化到硬盘上&#xff0c;后者则是在每次执行写命令之后将命令记录下来。两种持久化方式可以单独使用&#xff0c;但是通常会将两者结合使用。 一、持久化 1.1、什么…

基于neo4j知识图谱的菜谱推荐系统

&#x1f374; AI菜谱推荐系统让你“煮”事半功倍&#xff01; &#x1f374; 找不到做饭灵感的时候&#xff0c;是不是总觉得“今天吃啥”这道选择题简直是终极挑战&#xff1f;别急&#xff0c;我们基于Neo4j知识图谱的菜谱推荐系统&#xff0c;正是为了解决你的困扰而设计&a…

linux线程 | 同步与互斥 | 全解析信号量、环形生产消费者模型

前言: 本节内容讲述linux下的线程的信号量&#xff0c; 我们在之前进程间通信那里学习过一部分信号量&#xff0c; 但是那个是systemV版本的信号量&#xff0c;是以进程间通信的视角谈的。 但是本篇内容会以线程的视角谈一谈信号量。 ps&#xff1a;本篇内容建议学习了生产者消…

集合collection和泛型

collection可以直接打印内容&#xff0c;而不是地址&#xff0c;内部已经重写了。 List家族&#xff1a; package com.itheima.d6_collection_update_delete;import java.util.ArrayList; import java.util.Iterator; import java.util.List;/**目标&#xff1a;研究集合遍历并…

解决关于HTML+JS + Servlet 实现前后端请求Session不一致的问题

1、前后端不分离情况 在处理session过程中&#xff0c;如果前后端项目在一个容器中&#xff0c;session是可以被获取的。例如如下项目结构&#xff1a; 结构 后端的代码是基本的设置值、获取值、销毁值的内容&#xff1a; 运行结果 由此可见&#xff0c;在前后统一的项目中&a…

Sign Language Dataset: 聋哑人手语数据集(猫脸码客 第209期)

Sign Language Dataset: 聋哑人手语数据集 摘要&#xff1a;手语是聋哑人群体进行沟通交流的重要工具&#xff0c;通过手势、动作及面部表情的组合表达复杂的思想和情感。随着计算机视觉和人工智能技术的发展&#xff0c;聋哑人手语数据集在促进手语识别、翻译和交互系统开发中…

计算机指令系统,打个结~

计算机指令系统是计算机硬件与软件之间的桥梁&#xff0c;它定义了计算机能够执行的各种操作。一个完善的指令系统不仅影响着计算机的性能&#xff0c;还直接决定了计算机能够完成的任务种类和复杂度。本文将从计算机指令的基本概念出发&#xff0c;探讨指令系统的分类、常见指…

第13篇:无线与移动网络安全

目录 引言 13.1 无线网络的安全威胁 13.2 无线局域网的安全协议 13.3 移动通信中的安全机制 13.4 蓝牙和其他无线技术的安全问题 13.5 无线网络安全的最佳实践 13.6 总结 第13篇&#xff1a;无线与移动网络安全 引言 无线和移动网络的发展为我们的生活带来了极大的便利…

cisco网络安全技术第3章测试及考试

测试 使用本地数据库保护设备访问&#xff08;通过使用 AAA 中央服务器来解决&#xff09;有什么缺点&#xff1f; 试题 1选择一项&#xff1a; 必须在每个设备上本地配置用户帐户&#xff0c;是一种不可扩展的身份验证解决方案。 请参见图示。AAA 状态消息的哪一部分可帮助…

Java程序设计:spring boot(2)

目录 1 Spring MVC 零配置创建与部署 1.1 创建Spring MVC Web⼯程 1.2 pom.xml 添加坐标相关配置 1.3 添加源代码 1.4 添加视图 1.5 SpringMVC 配置类添加 1.6 入口文件代码添加 1.7 部署与测试 2 Spring Boot 概念&特点 2.1 框架概念 2.2 框架特点 2.3 Spring…

微知-如何临时设置服务器风扇转速?(ipmitool raw 0x30 0x30 0x02 0xff 0x40)

服务器风扇可以通过PWM输出来控制转速。 设置方式 设置单次PWM ipmitool raw 0x30 0x30 0x02 0xff 0x40如果要持续设置需要类似while循环持续输出&#xff1a; while true; do ipmitool raw 0x30 0x30 0x02 0xff 0x64; done > /dev/null参数说明&#xff1a; 其他参数&a…