环境安装与配置:全面了解 Go 语言的安装与设置

在学习 Go 语言之前,首先需要确保开发环境已正确安装和配置。本部分将详细介绍如何在不同平台(Windows、macOS 和 Linux)上安装 Go 语言,以及如何进行环境变量配置和工作空间的设置。


一、安装 Go 语言
1. Windows 安装方法
  1. 下载 Go 安装包

    • 打开Go官方下载页面。
    • 选择适合您系统的安装包(通常是go<version>.windows-amd64.msi)。
  2. 安装 Go

    • 下载完成后,双击运行安装程序。
    • 按照安装向导的步骤操作,通常包含以下步骤:
      • 接受许可协议。
      • 选择安装路径(默认路径为C:Go,建议使用默认值)。
      • 点击安装
  3. 验证安装

    • 打开命令提示符(Win + R,输入cmd)。

    • 输入以下命令,检查 Go 是否已正确安装:

      go version
      
    • 如果显示类似go version go1.XX windows/amd64的信息,则说明安装成功。


2. macOS 和 Linux 安装方法
方法一:使用官方安装包
  1. 下载 Go 安装包

    • 访问Go官方下载页面。
    • 下载适用于 macOS(go<version>.darwin-arm64.pkggo<version>.darwin-amd64.pkg)或 Linux 的安装包(tar.gz格式)。
  2. 安装 Go(macOS)

    • 对于.pkg文件,双击运行安装程序,按照提示操作即可。
    • 默认安装路径为/usr/local/go
  3. 安装 Go(Linux)

    • 打开终端,运行以下命令:

      sudo tar -C /usr/local -xzf go<version>.linux-amd64.tar.gz
      
    • 确保将<version>替换为实际版本号。

方法二:通过包管理器安装
  1. macOS(Homebrew 安装)

    • 打开终端,运行以下命令:

      brew install go
      
  2. Linux(APT 或 YUM 安装)

    • Ubuntu/Debian 系统:

      sudo apt update sudo apt install golang
      
    • CentOS/RHEL 系统:

      sudo yum install golang
      
验证安装
  • 打开终端,输入以下命令:

    go version
    
  • 如果显示类似go version go1.XX darwin/arm64go version go1.XX linux/amd64的信息,说明安装成功。


二、配置 Go 环境
1. 设置工作空间

Go 使用工作空间(Workspace)来组织项目文件,默认的工作空间目录结构如下:

$GOPATH/├── bin/├── pkg/└── src/
  • src:存放源代码文件。
  • pkg:存放编译生成的包文件。
  • bin:存放可执行文件。

建议:将GOPATH指向一个专门的开发目录,例如:

  • Windows:C:Users<your-username>go
  • macOS/Linux:/Users/<your-username>/go

2. 配置环境变量
Windows 配置
  1. 打开系统环境变量设置:

    • 右键此电脑属性高级系统设置环境变量
  2. 在用户变量中添加:

    • 变量名GOPATH
    • 变量值:工作空间路径,例如C:Users<your-username>go
  3. 在系统变量中检查PATH,如果没有C:Goin,则添加:

    ;C:Goin
    
  4. 验证环境变量

    • 打开命令提示符,运行以下命令:

      go env
      
    • 确保GOPATHGOROOT正确配置。

macOS/Linux 配置
  1. 编辑 Shell 配置文件:

    • 如果使用bash,编辑~/.bashrc~/.bash_profile
    • 如果使用zsh,编辑~/.zshrc
  2. 添加以下内容:

    export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
    
  3. 保存文件后,运行以下命令使配置生效:

    source ~/.bashrc
    
  4. 验证环境变量

    • 打开终端,运行:

      go env
      
    • 检查GOPATHGOROOT是否正确。


三、验证 Go 开发环境

完成安装和配置后,您可以通过以下方式验证开发环境是否正常运行:

  1. 创建测试项目

    • 在工作空间的src目录下创建一个测试目录:

      mkdir -p $GOPATH/src/hello 
      cd $GOPATH/src/hello
      
    • 创建文件main.go,内容如下:

      package mainimport "fmt"func main() {fmt.Println("Hello, Go!")
      }
      
  2. 运行程序

    • 打开终端,切换到项目目录,执行以下命令:

      go run main.go
      
    • 如果输出Hello, Go!,说明开发环境已成功配置。

  3. 编译并生成可执行文件

    • 执行以下命令:

      go build
      
    • 在项目目录下生成可执行文件hello(Windows 下为hello.exe)。


四、总结

通过以上步骤,您已经完成了 Go 语言开发环境的安装与配置:

  • 在不同平台上安装 Go。
  • 配置工作空间与环境变量。
  • 验证 Go 语言开发环境是否正常运行。

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

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

相关文章

第十五届蓝桥杯大赛软件赛省赛Java 大学 B 组(1、2题)

1.报数游戏 问题描述 小蓝和朋友们在玩一个报数游戏。由于今年是 2024 年&#xff0c;他们决定要从小到大轮流报出是 20或 24 倍数的正整数。前 10 个被报出的数是&#xff1a;20,24,40,48,60,72,80,96,100,120。请问第 202420242024个被报出的数是多少? 答案提交 这是一道结果…

批量修改图片资源的属性。

Unity版本2022.3 如图&#xff0c;比如我们想要修改图片的属性的时候&#xff0c;大部分都是 TextureImporter importer (TextureImporter)AssetImporter.GetAtPath("Assets/1.png"); // 获取文件 importer.xxxxxxx xxxxxxx; // 修改属性到这里没什么问题&#xf…

基于神经网络的视频编码NNVC(1):帧内预测

在H.266/VVC发布后&#xff0c;基于传统编码框架提升压缩率越来越难&#xff0c;随着深度学习的发展&#xff0c;研究人员开始尝试将神经网络引入编码器。为此&#xff0c;JVET工作组在2020年成立AHG11小组来专门进行基于神经网络的视频编码的研究。 为了方便研究&#xff0c;工…

C语言初阶牛客网刷题—— HJ97 记负均正【难度:简单】

1. 题目描述 牛客网在线OJ题 1、首先输入要输入的整数个数 n &#xff0c;然后输入 n 个整数。输出为 n 个整数中负数的个数&#xff0c;和所有正整数的平均值&#xff0c; 结果保留一位小数。 注意&#xff1a; 0 即不是正整数&#xff0c;也不是负数&#xff0c;不计入计算&…

【Web开发】一步一步详细分析使用Bolt.new生成的简单的VUE项目

https://bolt.new/ 这是一个bolt.new生成的Vue小项目&#xff0c;让我们来一步一步了解其架构&#xff0c;学习Vue开发&#xff0c;并美化它。 框架: Vue 3: 用于构建用户界面。 TypeScript: 提供类型安全和更好的开发体验。 Vite: 用于快速构建和开发 主界面如下&#xff1a…

Rabbitmq高级特性之消费方确认

背景&#xff1a; 发送方发送消息之后&#xff0c;到达消费端之后&#xff0c;可能会有以下情况&#xff1a;消息处理成功&#xff0c;消息处理异常。RabbitMQ在向消费者发送消息之后&#xff0c;就会把这条消息给删除掉&#xff0c;那么第二种情况&#xff0c;就会造成消息丢…

基于微信小程序的健身管理系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

Couchbase UI: Server

在 Couchbase UI 中的 Server&#xff08;服务器&#xff09;标签页主要用于管理和监控集群中的各个节点。以下是 Server 标签页的主要内容和功能介绍&#xff1a; 1. 节点列表 显示集群中所有节点的列表&#xff0c;每个节点的详细信息包括&#xff1a; 节点地址&#xff1…

Spark Streaming编程基础

文章目录 1. 流式词频统计1.1 Spark Streaming编程步骤1.2 流式词频统计项目1.2.1 创建项目1.2.2 添加项目依赖1.2.3 修改源目录1.2.4 添加scala-sdk库1.2.5 创建日志属性文件 1.3 创建词频统计对象1.4 利用nc发送数据1.5 启动应用&#xff0c;查看结果 2. 编程模型的基本概念3…

OpenCV imread函数读取图像__实例详解

OpenCV imread函数读取图像__实例详解 本文目录&#xff1a; 零、时光宝盒 一、imread函数定义 二、imread函数支持的文件格式 三、imread函数flags参数详解 &#xff08;3.1&#xff09;、Flags-1时&#xff0c;样返回加载的图像&#xff08;使用alpha通道&#xff0c;否…

ssm基于HTML5的红酒信息分享系统

SSM基于HTML5的红酒信息分享系统是一个专注于红酒领域的综合性信息平台&#xff0c;旨在为红酒爱好者、从业者以及普通消费者提供一个便捷的交流与获取红酒相关信息的空间。 一、系统背景与意义 随着人们生活水平的提高和消费观念的转变&#xff0c;红酒作为一种高雅的饮品&a…

Windows Docker Desktop安装及使用 Docker 运行 MySQL

Docker Desktop是Docker的官方桌面版&#xff0c;专为Mac和Windows用户设计&#xff0c;提供了一个简单易用的界面来管理和运行Docker容器。它集成了Docker引擎&#xff0c;为开发人员提供了一个快速、可靠、可扩展的方式来构建、运行和管理应用。DockerDesktop的优势在于&…

人形机器人,自动驾驶“老炮”创业第二站

造一台人形机器人&#xff0c;或许正在成为2025年最炙手可热的事情。 从去年第四季度开始&#xff0c;伴随着大模型应用的深入&#xff0c;具身智能概念被点燃&#xff0c;其中最鲜明的一个特点是&#xff0c;大量自动驾驶大佬的转行加入。 随便说几个比较有分量的&#xff0…

Flutter_学习记录_基本组件的使用记录

1.TextWidge的常用属性 1.1TextAlign: 文本对齐属性 常用的样式有&#xff1a; TextAlign.center 居中TextAlign.left 左对齐TextAlign.right 有对齐 使用案例&#xff1a; body: Center(child: Text(开启 TextWidget 的旅程吧&#xff0c;珠珠, 开启 TextWidget 的旅程吧&a…

什么是COLLATE排序规则?

在当今数字化世界中&#xff0c;数据的整理、比较和排序是至关重要的。在数据库管理和编程语言中&#xff0c;我们经常需要对字符串进行排序&#xff0c;以展示或处理信息。为了实现这一点&#xff0c;各种系统和工具提供了排序规则&#xff0c;其中COLLATE排序规则就是其中的一…

打印输入单词字符数量统计直方图-C语言第二版

1. 编程要求 多年前写过一篇用 C 语言实现打印单词字符数量统计的直方图的文章, 现在看上去有些混乱, 对一些任务划分不清晰, 全部混在一起. 于是重写了这个编程题, 希望可以给初学者一些参考, 并且我分别用 C, C, Java, Python 四种语言完成了这道编程题, 有兴趣的可以看我另…

认识Django项目模版文件——Django学习日志(二)

1.默认文件介绍 └── djangoproject1/├── djangoproject1/│ ├── urls.py [URL和函数的对应关系]【常用文件】│ ├── settings.py [项目配置文件]【常用文件】│ ├── _init_.py│ ├── wsgi.py [接受网络请求] 【不要动】│ └──…

【JS逆向】前端加密对抗基础

目录 逆向基础断掉调试基本常见的加解密方式 encrypt-labs靶场搭建过程靶场基本教程AES加密key前端体现(固定key)AES服务端获取keyRSA非对称加密DES加密存在规律key明文加签sign加签key在服务端signAESRAS组合 逆向基础 断掉调试 通过浏览器站点控制台(F12)&#xff0c;进行断…

C# 多线程同步(Mutex | Semaphore)

Mutex: 用于保护临界区&#xff0c;确保同一时间只有一个线程能够访问共享资源&#xff1b; Semaphore: 允许同时有多个线程访问共享资源&#xff0c;但会限制并发访问的数量。 Mutex运行输出 Semaphore运行输出 namespace SyncThreadDemo {internal class Program{static stri…

复位信号的同步与释放(同步复位、异步复位、异步复位同步释放)

文章目录 背景前言一、复位信号的同步与释放1.1 同步复位1.1.1 综述1.1.2 优缺点 1.2 recovery time和removal time1.3 异步复位1.3.1 综述1.3.2 优缺点 1.4 同步复位 与 异步复位1.5 异步复位、同步释放1.5.1 总述1.5.2 机理1.5.3 复位网络 二、思考与补充2.1 复…