当前位置: 首页 > news >正文

Go语言安装教程

【Go系列-1】-Go安装教程

环境提前准备

安装的时候可以选择自己的目录进行环境管理

E:\Z_Enviroment\Go

创建文件夹:

E:\Z_Enviroment\Go
E:\Z_Enviroment\GoWorks
E:\Z_Enviroment\GoWorks\bin
E:\Z_Enviroment\GoWorks\pkg
E:\Z_Enviroment\GoWorks\src

环境变量配置

GOROOT - Go安装目录

GOPATH - Go工作目录

GOROOT - E:\Z_Enviroment\Go
GOPATH - E:\Z_Enviroment\GoWorks

下载安装Go

地址:https://studygolang.com/dl

1、根据系统来选择下载包。

2、我这里是Windows,所以直接下载windows的安装包来安装。

安装好之后我们在E:\Z_Enviroment\Go 下可以看到安装好的go文件。

配置全局环境变量,在path中加入E:\Z_Enviroment\Go\bin

3、在控制台窗口输入“go version”可查看Go版本,检测是否安装成功。

检查是否安装成功 go version

C:\Users\1>go version
go version go1.21.1 windows/amd64

4、配置环境变量。Go需要一个安装目录,还需要一个工作目录。即GOROOT、和GOPATH。(前面我们配置好了,没配置的这里继续。)

GOROOT即为GO的安装目录。

GOPATH即为存储Go语言项目的路径,可以自己进行设值,我放在了GoWorks自己建的,里面需要包含src、pkg、bin三个目录。

如果你下载的开发工具没有这些识别项,需要检查环境变量是否配置了Goworks。

如果是安装包安装的,系统环境变量自动配置的,如果压缩包安装,需要在PATH配置Go的命令。

打开控制台,输入命令go env查看是否配置成功。

ok,到此,Go安装完成。

GOPATH的目录结构

一个Go语言项目的目录一般包含以下三个子目录:

  • src 目录:放置项目和库的源文件;
  • pkg 目录:放置编译后生成的包/库的归档文件;
  • bin 目录:放置编译后生成的可执行文件。

src 目录

用于以包(package)的形式组织并存放 Go 源文件,这里的包与 src 下的每个子目录是一一对应。例如,若一个源文件被声明属于 log 包,那么它就应当保存在 src/log 目录中。

并不是说 src 目录下不能存放 Go 源文件,一般在测试或演示的时候也可以把 Go 源文件直接放在 src 目录下,但是这么做的话就只能声明该源文件属于 main 包了。正常开发中还是建议大家把 Go 源文件放入特定的目录中。

包是Go语言管理代码的重要机制,其作用类似于Java中的 package 和 C/C++ 的头文件。Go 源文件中第一段有效代码必须是package <包名> 的形式,如 package main。

另外需要注意的是,Go语言会把通过go get 命令获取到的库源文件下载到 src 目录下对应的文件夹当中。

pkg 目录

用于存放通过go install 命令安装某个包后的归档文件。归档文件是指那些名称以.a结尾的文件。

该目录与 GOROOT 目录(也就是Go语言的安装目录)下的 pkg 目录功能类似,区别在于这里的 pkg 目录专门用来存放项目代码的归档文件。

编译和安装项目代码的过程一般会以代码包为单位进行,比如 log 包被编译安装后,将生成一个名为 log.a 的归档文件,并存放在当前项目的 pkg 目录下。

bin 目录

与 pkg 目录类似,在通过go install 命令完成安装后,保存为 Go 命令源文件生成的可执行文件。在类 Unix 操作系统下,这个可执行文件的名称与命令源文件的文件名相同。而在 Windows 操作系统下,这个可执行文件的名称则是命令源文件的文件名加.exe后缀。

下载开发工具 GoLand

下载地址:https://www.jetbrains.com.cn/go/download/#section=windows

新版本可以直接下载,历史版本可以点击左边的进行下载。

下载完成后,直接傻瓜式一路向下安装即可。

这一步:dddd(懂的都懂)

创建项目的时候,建议创建到 goword/src 目录下,未来寻找都十分方便 D:\Environment\GoWorks\src\GoLearningProject

mac、默认自动都创建在 GoWorks\src\GoLearningProject

Goland小设置

这些是要是jetbrains系列产品都适用,比如pycharm也可以这样设置。

主题插件

下载编码主题插件Plugins:Dracula Theme

根据鼠标滚轮进行字体调整

goland通过鼠标字体进行放大缩小

Settings - Editor - General - Change font size with Ctrl+Mouse Wheel in

勾上,第一个是活动窗口,第二个是所有窗口。

勾选完点击OK,点击Apply。

GO语言实现Hello,World

记事本编写:hello.go

package mainimport "fmt" // 导入一个系统包fmt用来输出的func main() {fmt.Println("Hello World!") // 打印输出helloworld字符串!
}

当前目录下执行:go run hello.go

好啦,准备工作都做完毕后,我们就可以开始正式学习Go语言啦!

相关文章:

Go语言安装教程

【Go系列-1】-Go安装教程 环境提前准备 安装的时候可以选择自己的目录进行环境管理 E:\Z_Enviroment\Go创建文件夹&#xff1a; E:\Z_Enviroment\Go E:\Z_Enviroment\GoWorks E:\Z_Enviroment\GoWorks\bin E:\Z_Enviroment\GoWorks\pkg E:\Z_Enviroment\GoWorks\src环境变量…...

MVVM框架:图片加载有问题

一、前言&#xff1a;在我使用ImageView加载图片的时候添加如下代码发现报错 app:imageUrl"{viewModel.observableField.assetImg}"报错如下错误 二、原因&#xff1a;是啥我不太清楚好像是没有imageView的适配器&#xff0c;后来我看了一下确实没有 public class I…...

一篇文章搞明白js运行机制——事件循环

1、解释 JavaScript 的执行机制。 JavaScript 的执行机制基于事件循环。事件循环包括一个任务队列&#xff08;Task Queue&#xff09;和一个微任务队列&#xff08;Microtask Queue&#xff09;。当一个函数被调用时&#xff0c;它被添加到微任务队列中。事件循环每次迭代都会…...

Leetcode 第 371 场周赛题解

Leetcode 第 371 场周赛题解 Leetcode 第 371 场周赛题解题目1&#xff1a;100120. 找出强数对的最大异或值 I思路代码复杂度分析 题目2&#xff1a;100128. 高访问员工思路代码复杂度分析 题目3&#xff1a;100117. 最大化数组末位元素的最少操作次数思路代码复杂度分析 题目4…...

keras转onnx,TensorFlow转tf.keras.models.load_model,onnx精度转换

参考&#xff1a; https://blog.csdn.net/Deaohst/article/details/126864267 转onnx 别直接转onnx。 先转PB&#xff1a; import tensorflow as tfmodel_path ./models/model.h5 # 模型文件 model tf.keras.models.load_model(model_path) model.sa…...

高可用架构设计

1. 引言 软件系统有三个追求&#xff1a;高性能、高并发、高可用&#xff0c;俗称三高。三者既有区别也有联系&#xff0c;门门道道很多&#xff0c;本篇讨论高可用 高可用技术的重要性在于保证系统的连续可用性&#xff0c;提高系统的稳定性和可靠性。它可以应对高并发和大规…...

qemu 之 uboot、linux 启动

目录 编译uboot、kernel 编译启动从 uboot 中引导启动 linux注参考 本文主要说明 arm64 在 qemu 上的相关启动。 编译 使用的是 qemu-8.1.1 版本&#xff0c;编译命令如下: ../configure --cc/usr/local/bin/gcc --prefix/home/XXX/qemu_out --enable-virtfs --enable-slir…...

C语言--每日五道选择题--Day8

第一题 1、下列程序的输出是&#xff08; &#xff09; #include<stdio.h> int main() {int a[12] {1,2,3,4,5,6,7,8,9,10,11,12};int *p[4];int i;for(i0;i<4;i){p[i]&a[i*3];}printf("%d\n"&#xff0c;p[3][2]);return 0; } A: 上述程序有错误 B: 6…...

Outlook如何删除邮箱账户

Outlook如何删除邮箱账户 说明&#xff1a; 最近有用户询问到“我的Outlook登陆了很多个邮箱账号&#xff0c;不知道怎么退出”接下来将具体操作步骤加以说明 操作指引&#xff1a; 1、首先打开Outlook该软件&#xff0c;然后点击“文件” 2、点击账户设置下拉菜单 3、在下拉…...

ultrascale+mpsoc系列的ZYNQ中DDR4参数设置说明

ultrascalempsoc系列的ZYNQ中DDR4参数设置说明 标题1 概述标题2 讲述平台标题3 ZYNQ的DDR设置界面参数标题4 DDR参数界面说明如下 标题1 概述 本文用于讲诉ultrascalempsoc系列中的ZYNQ的DDR4的参数设置与实际硬件中的DDR选型之间的关系&#xff0c;为FPGA设计人员探明道路。 …...

maven-六类属性

Maven的六类属性_maven内置属性-CSDN博客 系统变量指的是java系统的变量&#xff0c;环境变量指的系统变量和用户变量 java系统仅针对java程序&#xff0c;环境变量是全局的。两者都可以传进java进程。 参考 01.java环境变量&#xff08;env&#xff09;和系统属性&#xf…...

微服务概念

微服务 微服务是什么 In short, the microservice architectural style [1] is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource A…...

响应式摄影科技传媒网站模板源码带后台

模板信息&#xff1a; 模板编号&#xff1a;540 模板编码&#xff1a;UTF8 模板颜色&#xff1a;黑白 模板分类&#xff1a;摄像、婚庆、家政、保洁 适合行业&#xff1a; 模板介绍&#xff1a; 本模板自带eyoucms内核&#xff0c;无需再下载eyou系统&#xff0c;原创设计、手…...

探索C#事件(Event)的强大应用

摘要 在现代软件开发中&#xff0c;对象之间的通信和交互是一个常见而重要的问题。为了解决这个问题&#xff0c;C#作为一种面向对象的编程语言提供了一种强大的特性&#xff1a;事件&#xff08;Event&#xff09;。事件可以帮助开发人员实现对象间的松耦合&#xff0c;提高代…...

学习c#的第四天

目录 C# 变量 C# 中的变量定义与初始化 接受来自用户的值 C# 中的 Lvalues 和 Rvalues 不同类型变量进行运算 静态变量 局部变量 C# 常量 整数常量 浮点常量 字符常量 字符串常量 定义常量 扩展知识 Convert.ToDouble 与 Double.Parse 的区别 静态常量和动态常…...

解析JSON字符串:属性值为null的时候不被序列化

如果希望属性值为null及不序列化&#xff0c;只序列化不为null的值。 1、测试代码 配置代码&#xff1a; mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); 或者通过注解JsonInclude(JsonInclude.Include.NON_NULL) //常见问题2&#xff1a;属性为null&a…...

短视频短剧小程序系统:用技术丰富你的碎片时间

在当今快节奏的生活中&#xff0c;人们的休闲时间变得越来越碎片化。短视频短剧小程序系统正是利用这一现象&#xff0c;通过技术手段为人们提供了丰富多样的娱乐内容&#xff0c;让碎片时间变得更加充实。 一、短视频短剧小程序系统的技术特点 高效加载与流畅播放&#xff1…...

服务器数据恢复—磁盘出现坏道掉线导致raid5阵列崩溃的数据恢复案例

服务器数据恢复环境&#xff1a; 某品牌服务器中有一组16块SAS接口硬盘组建的raid5磁盘阵列。 服务器故障&检测&#xff1a; 服务器raid5阵列中有2块硬盘掉线&#xff0c;上层服务器应用崩溃&#xff0c;导致服务器数据丢失。丢失的数据主要是4个1.5TB大小的卷中的数据&am…...

Android R.fraction

来源 我是在看Android10原生代码&#xff0c;绘制状态栏蓝牙电量相关类中第一次看到R.fraction的&#xff0c;如类BatteryMeterDrawable <fraction name"battery_button_height_fraction">10%</fraction> mButtonHeightFraction context.getResources(…...

C语言精华题目锦集1

第一题 test.c文件中包括如下语句&#xff0c;文件中定义的四个变量中&#xff0c;是指针类型的是&#xff08;&#xff09;【多选】 #define INT_PTR int* typedef int* intptr; INT_PRT a,b; int_ptr c,d;A:a  B:b  C:c  D:d #define是宏定义&#xff0c;此时在程序中IN…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式&#xff0c;然后找到相应的网卡&#xff08;可以查看自己本机的网络连接&#xff09; windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置&#xff0c;选择刚才配置的桥接模式 静态ip设置&#xff1a; 我用的ubuntu24桌…...

【Go语言基础【12】】指针:声明、取地址、解引用

文章目录 零、概述&#xff1a;指针 vs. 引用&#xff08;类比其他语言&#xff09;一、指针基础概念二、指针声明与初始化三、指针操作符1. &&#xff1a;取地址&#xff08;拿到内存地址&#xff09;2. *&#xff1a;解引用&#xff08;拿到值&#xff09; 四、空指针&am…...

手机平板能效生态设计指令EU 2023/1670标准解读

手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读&#xff0c;综合法规核心要求、最新修正及企业合规要点&#xff1a; 一、法规背景与目标 生效与强制时间 发布于2023年8月31日&#xff08;OJ公报&…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题&#xff0c;导致车牌识别率低、逃费率高&#xff0c;传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法&#xff0c;正成为破局关键。该设备安装于车位侧方0.5-0.7米高度&#xff0c;直接规避树枝遮…...

LangFlow技术架构分析

&#x1f527; LangFlow 的可视化技术栈 前端节点编辑器 底层框架&#xff1a;基于 &#xff08;一个现代化的 React 节点绘图库&#xff09; 功能&#xff1a; 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...