【golang学习之旅】使用VScode安装配置Go开发环境

  • 1. 下载并安装Go
    • 1.1 下载地址
    • 1.2 选择版本并下载
    • 1.3 安装目录
    • 1.4 验证是否安装成功
  • 2. 配置环境变量
    • 2.1 配置步骤
    • 2.2 GO部分环境变量说明
  • 3. 下载或更新 Vscode
    • 3.1 下载地址
    • 3.2 安装步骤
  • 4. 为Go开发配置VScode

1. 下载并安装Go

1.1 下载地址

https://studygolang.com/dl

1.2 选择版本并下载

我选择了较新的稳定版本 go1.21.11。并且根据自己的系统选择安装包,我是Windows所以选择下面的安装包进行下载:
在这里插入图片描述

路径选择可以自定义:

在这里插入图片描述

1.3 安装目录

安装好之后安装目录中有如下文件:

在这里插入图片描述

目录介绍
apigo1.1.txt,go.1.2.txt…go1.12.txt存放go的所有版本(go1.1到go.1.21)的api信息
doc存放Go语言几乎全部的HTML格式的官方文档和说明,方便开发者在离线时查看
bin存放go的可执行文件。包括gofmt.exe ,go官方的代码格式化工具,用来统一代码风格;godoc.exe 在不联网的情况下在本地访问go的api;go.exe 编译构建整个go项目,贯穿go项目的声明周期,go env; go build; go mod; go install;等等
lib一些公共的库。存放各类编辑器或IDE(集成开发环境)软件的插件,辅助它们查看和编写Go代码
pkg在go install 完成后,用于保存go语言标准库的所有归档文件(比如fmt包被构建安装后,将生成一个fmt.a归档文件),同时也包含了和平台(windows,linux,mac)项目的一些目录,不同的操作系统看到不一样
src存放go所有标准库,go语言工具,以及涉及到的底层库(C语言)实现的代码
test存放测试go语言的代码文件

1.4 验证是否安装成功

安装完成后,Win + R 打开输入 cmd 打开命令行窗口,然后输入 go version 可以查看 Go 的版本:

在这里插入图片描述


2. 配置环境变量

2.1 配置步骤

右键此电脑 → 属性 → 高级系统设置 → 环境变量

在这里插入图片描述

新建系统变量

在这里插入图片描述

新建GOROOT变量

在这里插入图片描述

新建GOPATH变量。GOPATH的目录位置可以自己选择

先自己选择一个目录作为GOPATH,然后在目录中创建以下三个目录:

在这里插入图片描述

然后添加GOPATH系统变量

在这里插入图片描述

把用户变量里的 GOPATH 也换成自定义的目录

在这里插入图片描述

然后编辑用户变量里的 Path

在这里插入图片描述

最后可以去看一下系统变量里的 Path(点击 Path然后编辑),一般可以看到 Go 的路径已经配置好了,我们不需要动,这是 Go 在安装时自动配置的。之前用 go version 查看版本号也是因为这里的环境变量,如果以后出现命令未找到等问题,可以回到这里检查。

在这里插入图片描述

在这里插入图片描述

配置环境完变量后,记得点击「确定」再退出。

最后,Win + R,输入 cmd 打开命令行,输入 go env 可以检查一下,主要是看一下GOROOT和GOPATH这两个变量,应该是和我们前面设置的一致:

在这里插入图片描述

2.2 GO部分环境变量说明

go env //打印Go所有默认环境变量
  • GOROOT

    环境变量GOROOT表示Go语言的安装目录

    Windows中,GOROOT的默认值是C:/go,而在Mac OSLinuxGOROOT的默认值是usr/local/go,如果将Go安装在其他目录中,而需要将GOROOT的值修改为对应的目录。一般我们安装好之后Go会自动配置该变量

  • GOPATH

    环境变量GOPATH是Go项目的工作目录,按照Go开发规范,GOPATH目录下的每个工作一般分为三个子目录:src,pkg,bin

    • src目录放的是我们开发的源代码文件,其下面对应的目录称为包
    • pkg存放编译后的包文件
    • bin存放项目源文件
  • GOBIN

    GOBIN用来存放我们的项目代码编译后生成的二进制文件 (可执行文件) 。当我们使用go install命令编译打包我们的项目代码时,它会将编译后生成的二进制文件放入到GOBIN指定的目录下。如果没有指定GOBIN目录,默认是GOPATH/bin

  • GOPROXY

    GOPROXY设置的是,go get 下载依赖时使用的代理地址列表。该环境变量也可以设置多个值,多个值之间使用逗号 或竖杠分隔。当用 go 命令查找依赖模块时,它会按顺序访问 GOPROXY 列表中的每个代理,直到收到成功的响应或出现终端错误

  • GOOS

    GOOS的值是为其编译代码的操作系统。例如:linux、darwin、windows、netbsd、freebsd、openbsd、solaris

  • GOARCH

    GOARCH的值是为其编译代码的CPU架构或处理器。比如amd64、386、arm等

    GOARCH和GOOS是成对出现的,比如,如果是macOS系统,那么它们就有以下几种组合形式:

    在这里插入图片描述

    GOOS和GOARCH这两个环境变量用于交叉编译,也就是在一个平台上可以生成在另一个平台上运行的程序,比如在32位的windows操作系统环境中,生成可以在64位Linux操作系统上运行的二进制程序,通常需要借助第三方的工具才能够实现。但是在GO语言中,只需要设置GOOS和GOARCH这两个环境变量就可以实现


3. 下载或更新 Vscode

3.1 下载地址

https://code.visualstudio.com/Download

3.2 安装步骤

下载 Vscode 安装文件

在这里插入图片描述

下载完成单击安装文件开始进行安装

在这里插入图片描述

自定义安装目录

选择附加任务

在这里插入图片描述

准备安装

在这里插入图片描述

正在安装(几秒钟就安装成功了)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


4. 为Go开发配置VScode

打开终端并执行:

在这里插入图片描述

在vscode界面按键盘ctrl+shift+p,输入Go: install/update tools,回车如下图,选择要安装的依赖(这里全选),等待安装完成

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

ChinaTravel成流量密码,景区如何打造视频监控管理平台提升旅游体验

随着中国经济的飞速发展和人民生活水平的持续提高,旅游已经成为越来越多人休闲放松的首选方式。近期,随着互联网的普及和社交媒体的兴起,以及免签政策带火入境游,“ChinaTravel”已成为社交网络上的一大流量密码,吸引了…

送检了200多款主食冻干,花费百万后,我测评了VE、希喂、朗诺!

主食冻干真是养猫的好帮手,方便、易喂,还能为猫咪提供全面营养!它模拟了猫咪的自然捕猎饮食,采用低温脱水和灭菌技术制成。这样的主食冻干不仅让铲屎官们的喂养变得轻松,还满足了猫咪的味蕾和营养需求。更重要的是&…

跟《经济学人》学英文:2024年6月15日这期 Chinese electric vehicles (EVs)

The EU hits China’s carmakers with hefty new tariffs Duties will only hold them back for a while 欧盟对中国汽车制造商征收高额新关税 hit: 对xxx施加 在句子"The EU hits China’s carmakers with hefty new tariffs"中,“hits”的意思是“对…

Fastjson 结合 jdk 原生反序列化的利用手法 ( Aliyun CTF )

2023 Aliyun CTF ezbean是一道CTF java反序列化题目。 题目的目的是让选手通过一个java原生反序列化入口,最终达成RCE。本文对题目的几种解法做了具体的分析,主要分为预期解法和非预期解法两种思路。通过对Fastjson在反序列化的行为分析,从两…

华为---OSPF单区域配置(一)

09、OSPF 9.1 OSPF单区域配置 9.1.1 原理概述 为了弥补距离矢量路由协议的不足,IETF组织开发了一种基于链路状态的内部网关协议——OSPF(Open Shortest Path First,开放式最短路径优先)。 OSPF作为基于链路状态的协议&#xf…

【网络安全学习】漏洞扫描:- 02- nmap漏洞扫描

1.nmap的介绍 Nmap是一款功能强大的网络探测和安全扫描工具,可以对目标进行端口扫描、服务探测、操作系统指纹识别等操作。 Nmap自带了许多内置的NSE脚本,它们可以根据不同的目标和场景来执行不同的功能。这些脚本存放在Nmap安装目录**/usr/share/nmap…

Fastjson 反序列化漏洞(CVE-2017-18349)

目录 Fastjon介绍 序列化与反序列化 漏洞产生的原因 漏洞点测试 使用dnslog探测 反弹shell 这一篇是学习JAVA里面的fastjson 反序列化漏洞,这里还是参考别的师傅总结的文章进行学习 Fastjon介绍 Fastjson 是一个 Java 库,可以将 Java 对象转换为 …

美业人专用宝藏系统、Java收银系统源码分享-美业SAAS系统的应用价值分析

美业SAAS系统(Software as a Service)在美容、美发、美甲等行业中具有重要的应用价值。这种系统为美业提供了一种数字化解决方案,帮助企业更高效地管理业务和客户关系。 以下是博弈美业SAAS系统的应用价值分析: 1.经营管理&#…

西门子PLC1200--与电脑连接的TCP通讯

本例演示将PLC作为服务器,电脑作为客户端,进行通讯。 反过来也是一回事,就不啰嗦了。 二者进行TCP通讯,是基于网线的,电脑上用的是网口,PLC上用的是Profinet接口,即PN口。 软件工具准备 西门子…

学习记录之数学表达式(5)

文章目录 十、线性回归10.1 示例10.2 拟合10.3 推导10.4 岭回归10.5 作业 十一、Logistic回归11.1 分割超平面11.2 点到直线的距离11.3 sigmoid函数11.4 优化目标11.5 求解11.6 作业 十、线性回归 线性回归是一个常用的机器学习算法; 10.1 示例 表 1.单变量的股价预…

瓦罗兰特教你怎么玩低价区+超适配低价区的免费加速器

《无畏契约》(VALORANT)是一款款英雄为核心的5V5第一人称战术射击PC游戏。在瓦罗兰特游戏中,玩家完成每日任务即可以获得大量的经验升级,另外我们也可以多多完成主线和支线任务,来加快升级的速度。玩家通过挑战副本&am…

Focal Network for Image Restoration

Focal Network for Image Restoration 用于图像恢复的焦点网络 Yuning Cui1 Wenqi Ren2* Xiaochun Cao2 Alois Knoll1 1Technical University of Munich 2Shenzhen Campus of Sun Yat-sen University {yuning.cui,knoll}in.tum.de {renwq3,caoxiaochun}mail.sysu.edu.cn 论文…

和The Sandbox一起展望伊斯坦布尔的未来: 伊斯坦布尔 2124 Game Jam 集锦!

2024 年 5 月 24 日至 26 日,伊斯坦布尔 2124 Game Jam 在 StartGate Maslak 举行,由 The Sandbox、StartGate 和 YTU GamesUP 联合举办。这次活动为参与者提供了在 The Sandbox 元宇宙中塑造伊斯坦布尔未来的机会。 充满创新项目的一周 来自 The Sandbo…

手把手教你创建并启动一个Vue3项目(Windows版)

一、Node安装 1、下载地址:Node.js — Run JavaScript Everywhere 2、安装Node,双击启动一直Next 3、验证安装Node是否成功,打开CMD命令窗口,输入node -v,显示版本就表示成功 4、验证安装npm是否成功,npm是…

Elasticseach RestClient Api

Elasticsearch RestclientApi基础用法 查询 索引库 初始化 添加依赖 <dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId> </dependency>创建链接 package com…

数据资产价值如何分析评估?

引言&#xff1a;当企业完成了数据治理&#xff0c;形成了数据资产&#xff0c;负责的部门数据中心对数据资产缺乏直观的展示方式&#xff0c;有多少数据资产&#xff0c;资产如何分布&#xff0c;领导两眼一抹黑&#xff1f;数据资产生产过程不透明&#xff0c;数据质量如何&a…

发力采销,京东的“用户关系学”

作者 | 曾响铃 文 | 响铃说 40多岁打扮精致的城市女性&#xff0c;在西藏那曲的偏远农村&#xff0c;坐着藏民的摩托车&#xff0c;行驶在悬崖边的烂泥路上&#xff0c;只因为受顾客的“委托”&#xff0c;要寻找最原生态的藏区某款产品。 30多岁的憨厚中年男性&#xff0c;…

485通信协议

文章目录 STM32-20-4851. 485总线2. 485相关HAL库驱动3. 485配置步骤4. 代码实现 STM32-20-485 1. 485总线 串口、UART、TTL、RS232、RS422、RS485关系&#xff1a; 关系与区别&#xff1a; 特性串口UARTTTLRS232RS422RS485定义数据传输接口硬件设备电平标准通信标准通信标准…

安享智慧理财金融测试项目

1. 项目介绍 安享智慧理财金融系统是基于 Java 语言开发&#xff0c;集 PC 端、APP 端、WAP 端为一体的 P2P&#xff08;个人对个人&#xff09;的借贷系统&#xff0c;提供了完整的借款和投资功能。 web用户端 说明&#xff1a;PC 网站&#xff0c;供借款人和投资人使用功能…

疯狂买买买!你的支付环境真的安全吗?

在日常生活中&#xff0c;移动电话为我们带来了更多的方便。然而&#xff0c;我们在享受手机支付的便捷之余&#xff0c;也应充分认识到风险&#xff0c;增强防范意识&#xff0c;慧眼识诈。 小亿提醒&#xff1a;大家在购物之余&#xff0c;务必要注意手机支付的安全性&#…