《Go 语言第一课》课程学习笔记(一)

配好环境:选择一种最适合你的 Go 安装方法

选择 Go 版本

  • 一般情况下,建议采用最新版本。因为 Go 团队发布的 Go 语言稳定版本的平均质量一直是很高的,少有影响使用的重大 bug。
  • 可以根据不同实际项目需要或开源社区的情况使用不同的版本。
    • 有的开源项目采纳了 Go 团队的建议,在 Go 最新版本发布不久就将当前项目的 Go 编译器版本升级到最新版,比如 Kubernetes 项目;
    • 而有的开源项目(比如 docker 项目)则比较谨慎,这些项目可能还在使用两个发布周期之前的版本。
    • 但多数项目处于两者之间,也就是使用次新版,即最新版本之前的那个版本。

安装 Go

在 Linux 上安装 Go

  • 首先,我们需要下载并解压 Go Linux 安装包:wget -c https://golang.google.cn/dl/go1.16.5.linux-amd64.tar.gz
  • 第二步,将下载完毕的 Go 安装包解压到安装目录中:tar -C /usr/local -xzf go1.16.5.linux-amd64.tar.gz
  • 执行完上面解压缩命令后,我们将在 /usr/local 下面看到名为 go 的目录,这个目录就是 Go 的安装目录,也是 Go 官方推荐的 Go 安装目录。
  • 为了可以在任意路径下使用 go 命令,我们需要将 Go 二进制文件所在路径加入到用户环境变量 PATH 中,具体操作是将下面这行环境变量设置语句添加到 $HOME/.profile 文件的末尾:export PATH=$PATH:/usr/local/go/bin
  • 然后执行下面命令使上述环境变量的设置立即生效:source ~/.profile
  • 最后,我们可以通过下面命令验证此次安装是否成功:go version

在 Mac 上安装 Go

  • 在 Mac 上我们可以在图形界面的引导下进行 Go 的安装。不过,我们先要下载适用于 Mac 的 Go 安装包:wget -c https://golang.google.cn/dl/go1.16.5.darwin-amd64.pkg
  • 安装包下载完毕后,我们可以双击安装包,打开标准的 Mac 软件安装界面,按软件安装向导提示,一路点击“继续”,我们便可以完成 Go 在 Mac 上的安装;
  • 如果要在任意路径下使用 Go,我们也需将这个路径加入到用户的环境变量 PATH 中,具体操作方法与上面 Linux 中的步骤一样;
  • 最后,我们同样可以通过 go version 命令验证一下这次安装是否成功。

在 Windows 上安装 Go

  • 在 Windows 上,我们最好的安装方式就是采用图形界面引导下的 Go 安装方法。
  • 除了会将 Go 安装到你的系统中之外,Go 安装程序还会自动为你设置好 Go 使用所需的环境变量,包括在用户环境变量中增加 GOPATH。

配置 Go

  • 其实 Go 在安装后是开箱即用的,这也意味着我们在使用 Go 之前无需做任何配置。
  • Go 的配置项是以环境变量的形式存在的,我们可以通过下面这个命令查看 Go 的这些配置项:go env
    在这里插入图片描述

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

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

相关文章

攻击LNMP架构Web应用

环境配置(centos7) 1.php56 php56-fpm //配置epel yum install epel-release rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm//安装php56,php56-fpm及其依赖 yum --enablereporemi install php56-php yum --enablereporemi install php…

常见的字符编码有哪些?有什么区别?

目录 面试回答 知识扩展 Unicode 和 UTF-8 有啥关系? 有了 UTF-8,为什么要出现 GBK 为什么会出现乱码 面试回答 就像电报只能发出“滴”和“答”声一样,计算机只认为 0 和1 两种字符,但是,人类的文字是多种多样的&…

B树和B+树区别

B树和B树的区别 B树 B树被称为平衡树,在B树中,一个节点可以有两个以上的子节点。B树的高度为log M N。在B树中,数据按照特定的顺序排序,最小值在左侧,最大值在右侧。 B树是一种平衡的多分树,通常我们说m阶…

什么是网络地址转换 (NAT)

网络地址转换(NAT)是更改源和目标 IP 地址和端口的过程,地址转换减少了对 IPv4 公共地址的需求,并隐藏了专用网络地址范围,该过程通常由路由器或防火墙完成。 NAT是如何工作的 NAT 允许单个设备(如路由器…

rhel 8.7 部署 keepalived+haproxy 实现 mysql 双主高可用场景

文章目录 [toc]部署 mysql关闭防火墙关闭 selinux创建相关目录创建 mysql 用户配置 PATH 变量验证 mysql 命令切换到 mysql 用户在 172.72.0.116 生成配置文件在 172.72.0.137 生成配置文件mysql 初始化启动 mysql 服务修改 mysql 的 root 用户密码配置主从关系172.72.0.137 配…

数字化格局下的引领者:百望云通过强制性国家标准GB18030-2022最高级别认证

8月1日,强制性国家标准GB 18030-2022《信息技术 中文编码字符集》实施。8月15日,百望云“绿页阅读器”正式通过中国电子技术标准化研究院强制性国家标准GB18030-2022《信息技术 中文编码字符集》最高级(实现级别3)认证,彰显了百望云在数字化信息处理领域对标国家标准的卓越技术…

Android CameraX适配Android13的踩坑之路

AndroidCameraX适配Android13的踩坑之路 前言: 最近把AGP插件升级到8.1.0,新建项目的时候目标版本和编译版本都是33,发现之前的demo使用Camerax拍照和录像都失败了,于是查看了一下官网和各种资料,找到了Android13的适…

网络编程(12): TCP重传、滑动窗口、流量控制、拥塞控制

1、TCP重传机制 通过序列号和确认号确保可靠传输,当发送端发送数据给接收到,接收端会返回一个确认号,表示收到消息了 超时重传:没有在指定时间内收到ACK报文 超时重传的两种可能:数据包丢失、确认包丢失超时重传时间RT…

第十三课:QtCmd 命令行终端应用程序开发

功能描述:开发一个类似于 Windows 命令行提示符或 Linux 命令行终端的应用程序 一、最终演示效果 QtCmd 不是因为它是 Qt 的组件,而是采用 Qt 开发了一个类似 Windows 命令提示符或者 Linux 命令行终端的应用程序,故取名为 QtCmd。 上述演示…

FreeMarker系列--list的用法(长度,遍历,下标,嵌套,排序)

原文网址&#xff1a;FreeMarker系列--list的用法&#xff08;长度,遍历,下标,嵌套,排序&#xff09;_IT利刃出鞘的博客-CSDN博客 简介 本文介绍FreeMarker的list的用法。 大小 Java ArrayList<String> list new ArrayList<String>(); Freemaker ${list?s…

W5500-EVB-PICO 做UDP Server进行数据回环测试(七)

前言 前面我们用W5500-EVB-PICO 开发板在TCP Client和TCP Server模式下&#xff0c;分别进行数据回环测试&#xff0c;本章我们将用开发板在UDP Server模式下进行数据回环测试。 UDP是什么&#xff1f;什么是UDP Server&#xff1f;能干什么&#xff1f; UDP (User Dataqram P…

图数据库_Neo4j学习cypher语言_使用CQL命令002_删除节点_删除属性_结果排序Order By---Neo4j图数据库工作笔记0006

然后我们再来看如何删除节点 可以看到首先 我们这里 比如我要删除张三 可以看到 match (n:student) where n.name = "张三" delete n 这样就是删除了student集合中,name是张三的节点 然后我们再来看 如何来删除关系 match (n:student)-[r]->(m:student) where…

机器学习、cv、nlp的一些前置知识

为节省篇幅&#xff0c;不标注文章来源和文章的问题场景。大部分是我的通俗理解。 文章目录 向量关于向量的偏导数&#xff1a;雅可比矩阵二阶导数矩阵&#xff1a;海森矩阵随机变量随机场伽马函数beta分布数学术语坐标上升法协方差训练集&#xff0c;验证集&#xff0c;测试集…

Nginx的安装及负载均衡搭建

一.Nginx的安装 1&#xff09;准备安装环境 yum install -y make gcc gcc-c pcre-devel pcre zlib zlib-devel openssl openssl-develPERE PCRE(Perl Compatible Regular Expressions)是一个Perl库&#xff0c;包括 perl 兼容的正则表达式库。 nginx的http模块使用pcre来解…

前端jd要求:了解一门后端开发语言优先 解决方案之Node.js

前端jd要求&#xff1a;了解一门后端开发语言优先 解决方案之Node.js 前言常见的后端开发语言一、什么是 Node.js二、学习 Node.js 的前置知识三、学习 Node.js 的步骤1、Node.js 的安装2、Node.js 的基本语法和 API模块导入和导出文件读写操作HTTP 服务器命令行参数 3、Node.j…

可能导致不可接受的信息安全事件发生的核电站事故。

立陶宛伊格纳利纳核电站&#xff08;1992 年&#xff09; 一名在该核电站工作的程序员将恶意代码上传到一个负责反应堆子系统运行的自动化系统中&#xff0c;该系统被及时发现。 但如果没有及时发现&#xff0c;谁知道会发生什么呢&#xff1f;核电站被关闭以进行调查。有关这…

Vue-8.集成(.editorconfig、.eslintrc.js、.prettierrc)

介绍 同时使用 .editorconfig、.prettierrc 和 .eslintrc.js 是很常见的做法&#xff0c;因为它们可以在不同层面上帮助确保代码的格式一致性和质量。这种组合可以在开发过程中提供全面的代码维护和质量保证。然而&#xff0c;这也可能增加一些复杂性&#xff0c;需要谨慎配置…

Coreutils工具包,Windows下使用Linux命令

之前总结过两篇有关【如何在Windows系统下使用Linux的常用命令】的文章&#xff1a; GnuWin32&#xff0c;Windows下使用Linux命令 UnxUtils工具包&#xff0c;Windows下使用Linux命令 今天再推荐一个类似的工具包Coreutils 一、简介 GNU core utilities是GNU操作系统基本…

【HDFS】hdfs的count命令的参数详解

Usage: hadoop fs -count [-q] [-h] [-v] [-x] [-t [<storage type>]] [-u] [-e] [-s] <paths

(学习笔记-进程管理)怎么避免死锁?

死锁的概念 在多线程编程中&#xff0c;我们为了防止多线程竞争共享资源而导致数据错乱&#xff0c;都会在操作共享资源之前加上互斥锁&#xff0c;只有成功获得到锁的线程&#xff0c;才能操作共享资源&#xff0c;获取不到锁的线程就只能等待&#xff0c;直到锁被释放。 那…