Go语言简介

什么是Go语言

  Go语言是谷歌2009发布的第二款开源编程语言。
  Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。
  Go 语言具有很强的表达能力,它简洁、清晰而高效。得益于其并发机制, 用它编写的程序能够非常有效地利用多核与联网的计算机,其新颖的类型系统则使程序结构变得灵活而模块化。
  Go 代码编译成机器码不仅非常迅速,还具有方便的垃圾收集机制和强大的运行时反射机制。 它是一个快速的、静态类型的编译型语言,感觉却像动态类型的解释型语言。

Go语言起源

  Go 语 言 起 源 2007 年, 并 于 2009 年 正 式 对 外 发 布。 它 从 2009 年 9 月 21 日 开 始 作 为 谷 歌 公 司 20% 兼 职 项 目, 即 相 关 员 工 利 用 20% 的 空 余 时 间 来 参 与 Go 语 言 的 研 发 工 作。 该 项 目 的 三 位 领 导 者 均 是 著 名 的 IT 工 程 师: Robert Griesemer, 参 与 开 发 Java HotSpot 虚 拟 机; Rob Pike, Go 语 言 项 目 总 负 责 人, 贝 尔 实 验 室 Unix 团 队 成 员, 参 与 的 项 目 包 括 Plan 9, Inferno 操 作 系 统 和 Limbo 编 程 语 言; Ken Thompson, 贝 尔 实 验 室 Unix 团 队 成 员, C 语 言、 Unix 和 Plan 9 的 创 始 人 之 一, 与 Rob Pike 共 同 开 发 了 UTF-8 字 符 集 规 范。 自 2008 年 1 月 起, Ken Thompson 就 开 始 研 发 一 款 以 C 语 言 为 目 标 结 果 的 编 译 器 来 拓 展 Go 语 言 的 设 计 思 想。

Ivo Balbaert. Go入门指南——The Way to Go(中文版) (Kindle 位置 112-117). 人民邮电出版社.

Go语言特点

  • 简洁、快速、安全
  • 并行、有趣、开源
  • 内存管理、数组安全、编译迅速

GO语言应用场景

  • 服务器编程, 如处理日志、数据打包、虚拟机处理、文件系统等
  • 分布式系统 (数据库代理、中间件)
  • 网络编程 (web应用、api应用)
  • 云平台 例如 docker、k8s都是go语言开发的

Go语言官网

https://golang.org/

如果访问速度慢或者无法访问请访问谷歌中国官网

https://golang.google.cn/

安装

我们先访问网站获取对应版本(以下教程以官网为例)

https://golang.org/dl/

推荐选择这里的版本,更多版本可以自行下翻

然后我们选择win版本,会弹出下载

我们下载后双击安装

下一步下一步即可,推荐安装到默认路径(C盘)

安装完成

搭建

进入环境变量页面

我的电脑(右键) > 属性 > 高级系统设置 > 高级 > 环境变量

新建系统变量(值为你的安装路径,默认如图)

然后在系统变量中找到名为'Path'的,双击会弹窗,我们点击新建(如图,如修改安装路径请修改)

完成

测试

我们打开一个cmd窗口

输入'go'

如出现如下页面

代表成功

添加GoPATH

GO1.13+版本使用GOMODULE管理项目,一下内容请略过

GoPATH作用

一个完整的GO项目必须包含 bin pkg src 三个文件夹

bin编译后生成的可执行文件(为了方便,可以把此目录加入到 $PATH 变量中,如果有多个gopath,那么使用${GOPATH//://bin:}/bin添加所有的bin目录)

pkg编译时生成的中间文件(比如:.a)

src存放源代码(比如:.go .c .h .s等)   按照golang默认约定,go run,go install等命令的当前工作路径(即在此路径下执行上述命令)。

所以当我们使用版本控制(Git...)来管理代码时,只需要管理 src 里的代码即可

src 里可以分文件夹来存储多个项目的源代码

而GO语言的执行依赖GOPATH,所以我们需要在环境变量中增加GOPATH

建立工作目录

我们先新建一个文件夹作为我们编写时候的代码存放,必须有上文所说的三个文件夹,如图

新建环境变量

我们进入环境变量(下图是已经添加的效果)

要注意的是,我们先观察用户变量中有没有GOPATH,如果有建议删除使用系统变量来替代

我们在系统变量中新建一个名为GOPATH的变量,值为我们刚才新建的文件夹路径(GOPATH允许加入多个路径)

然后我们点击保存

重启电脑或者注销用户重新登陆

验证

我们在dos中输入

go env

  会打印出go的配置

GOPATH部分如果为刚才配置的则没有问题

Go语言环境安装&搭建(Win)的更多相关文章

  1. Go语言环境安装&搭建(Linux)

    Linux的东西果然不记不行啊~ 下载&安装 下载 我们先找到linux版的下载链接 https://golang.org/dl/ 打开网址找到Linux对应的链接右键复制下载地址 然后连接服 ...

  2. 【Go】 Go 语言环境安装

    安装环境/工具 1.Linux(CentOS 7.4版) 2.go1.11.2.linux-amd64.tar Go 语言环境安装 1.下载安装包 安装包下载地址为:https://golang.or ...

  3. 【保姆级教程】手把手教你进行Go语言环境安装及相关VSCode配置

    [Go语言入门系列]前面的文章: [Go语言入门系列](七)如何使用Go的方法? [Go语言入门系列](八)Go语言是不是面向对象语言? [Go语言入门系列](九)写这些就是为了搞懂怎么用接口 本篇文 ...

  4. 从小白到区块链工程师:第一阶段:Go语言环境的搭建(1)

    一,Golang语言简介 2009年由谷歌公司推出,由C语言之父Ken Thompson主导研发.Go(又称Golang)是Google开发的一种静态强类型.编译型.并发型,并具有垃圾回收功能的编程语 ...

  5. go语言环境安装

    Go 是一个开源的编程语言,被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言. 1. 准备环境并安装依赖包 创建centos 7.6 64bit的虚拟机. 安装 ...

  6. P4语言环境安装(一)前端编译器p4c、后端编译器p4c-bm2-ss

    这个P4安装环境是在2020-2-8安装的,安装环境卡了我好几天,把遇到的问题记录下来,有需要的同学可以参考一下,要是说错了或者有问题的话,评论或mail:guidoahead@163.com联系我都 ...

  7. Go语言环境安装-Mac

    1.环境安装 Go SDK下载和安装,下载地址为:https://golang.org/dl/ Visual Studio Code下载和安装,下载地址为:https://code.visualstu ...

  8. Go语言(环境的搭建)

    一步一步,从零搭建Go语言开发环境. 安装Go语言及搭建Go语言开发环境 下载 下载地址 Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://gol ...

  9. zabbix环境安装搭建

    一.Zabbix简介 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix由zabbix server与可选组件zabbix agent两部分组成. ...

随机推荐

  1. nmap学习之nmap -sP 【目标】

    一.通过arp包判断局域网内的主机状态 二.对于局域网外的主机通过向主机 1)发送普通ICMP请求包[类型字段为8,代码字段为0]: 2)发送时间戳ICMP请求包[类型字段为13,代码字段为0]: 3 ...

  2. Array.apply(null,{length:6}).map()

    map定义和方法 map()方法返回一个新数组,数组中的元素为原始数组元素调用函数处理的后值. map()方法按照原始数组元素顺序依次处理元素. 注意: map不会对空数组进行检测 map不会改变原始 ...

  3. html去掉滑动条

    实例: .week { /*text-align: left;*/ /*display: inline-table;*/ margin: 0 auto; padding: 0; list-style: ...

  4. [C++]线性链表之顺序表<一>

    顺序表中数据元素的存储地址是其序号的线性函数,只要确定了存储顺序表的起始地址(即 基地址),计算任意一个元素的存储地址的时间是相等的,具有这一特点的存储结构称为[随机存储]. 使用的基本数据结构:数组 ...

  5. bootstrap table 冻结列 ie 兼容

    修改前: Chrome效果 Ie11效果 修改后: Ie11效果 修改bootstrap-table-fixed-columns.js文件 修改其中的initBody方法 修改为

  6. ASP.NET EF 延迟加载,导航属性延迟加载

    ASP.NET EF 延迟加载,导航属性延迟加载   EF(EntityFramework)原理:属于ORM的一种实现 通过edmx文件来查看三部分:概念模型,数据模型,映射关系,上下文DbConte ...

  7. Leetcode#867. Transpose Matrix(转置矩阵)

    题目描述 给定一个矩阵 A, 返回 A 的转置矩阵. 矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引. 示例 1: 输入:[[1,2,3],[4,5,6],[7,8,9]] 输出:[[1 ...

  8. link标签和css引入方式

    link常见用途 <link> 标签最常见的用途是链接样式表,在 HTML 中,<link> 标签没有结束标签,此元素只能存在于 head 部分,不过它可出现任何次数. < ...

  9. python3:实现输出等边三角形、直角三角形

    学习python,用的是3.5的版本: 记录一下学习历程~ 一.先来一个简单的,输出直角三角形: ***知识点:for循环,range()函数 二.进阶:输出等边三角形 ******知识点:嵌套for ...

  10. day 10 - 2 函数练习

    1.写函数 接收 n 个数字  求这些参数数字的和 def sum_func(*args): total = 0 for i in args: total += i return total prin ...