「最近将会更新 Go 语言入门的系列文章 非常基础。适合小白入门或者零基础的同学 已有相关 Go 基础的同学可以略过。」
?可爱的 Golang 吉祥物 出自 Golang 设计者之一 Rob Pike 之妻 Renee French
?由 Google 于 2007 年开发 并于 2009 年开源的 Golang 语言 至今已经走过了将近 10 个年头。自 2012 年 Golang 1.0 稳定版本发布以来 凭借其独特的魅力在全球范围内吸引了众多的开发者和发展了数量庞大的活跃社区。
Golang 在多核并发上拥有原生的设计优势 充分利用现代硬件性能又兼顾开发效率 设计的目标是为了发挥类似 Python 等动态语言开发速度 并在此基础上提供 C/C 等编译型语言的性能和安全。
Golang 具备很强的语言表达能力 支持静态类型安全 能够快速编译大型项目 同时也能够让开发人员访问底层操作系统 极力挖掘计算机 CPU 资源 还提供了强大的网络编程和并发编程支持。
Golang 具备以下特性
从底层支持并发 无需第三方库支持 对开发者的编程技巧和开发经验要求低 支持自动垃圾回收 避免内存泄露支持函数多返回值支持匿名函数和闭包支持反射更好的性能提供强大的标准库支持快速、静态类型的编辑型语言 同时提供动态语言特性Golang 简单、高效、并发的特性吸引了众多开发人员加入到 Golang 开发的大家庭中 目前已经涌现大量通过 Golang 原生开发的大型开源项目 并在软件行业中发挥重要作用 其中包括 Docker、Kubernetes、etcd 等。
环境安装“工欲善其事 必先利其器” 想要用好 Golang 这门开发利器 首先需要安装好 Golang 的相关开发环境。Golang 自带编译器 所以我们仅需要安装 Golang 开发包即可。
Go 开发包安装Golang 开发包可以从以下两个网址中获取
Golang 中文网 https://studygolang.com/dlGolang 官网 https://golang.org/dl/MacOS 和 Windows 的安装由读者自行完成 仅需要下载对应版本的安装器一路安装即可完成。接下来仅介绍 Linux 上的 Golang 开发包安装。
「第 0 步」
安装可能需要的下载程序 wget
yum?-y?install?wget
「第 1 步」
下载 Golang 开发包
wget?-c?https://studygolang.com/dl/golang/go1.12.4.linux-amd64.tar.gz
以上下载的 Golang 版本为 1.12.4 大家可以根据当前最新版本进行下载。
「第 2 步」
解压开发包
tar?-C?/home/?-xzf?go1.12.4.linux-amd64.tar.gz
根据个人的需要 可以将开发包放置到指定的目录下。此处将开发包解压到 /home/ 目录下。解压后的目录概要如下 它严格遵守 GOPATH 规则。在接下来的章节中会对 GOPATH 规则和相关目录命名进行详细介绍 它是 Golang 编译的核心规则。
├──?api?//每个版本的?api?变更差异
├──?AUTHORS
├──?bin?//golang?源码包编译出的编译器(go)、文档工具(godoc)、格式化工具(gofmt)
├──?CONTRIBUTING.md
├──?CONTRIBUTORS
├──?doc?//golang?文档
├──?favicon.ico
├──?lib?//?引用的库依赖
├──?LICENSE
├──?misc
├──?PATENTS
├──?pkg?//各个操作系统平台编译好的中间文件
├──?README.md
├──?robots.txt
├──?src?//标准库的源码
├──?test?//测试用例
└──?VERSION
「第 3 步」
将 go/bin 添加到 PATH 环境变量中
export?PATH $PATH:/home/go/bin
「第 4 步」
验证 Golang 开发包是否安装成功
go?version
如果安装顺利的话 命令行将输出对应的 Golang 版本 如下所示
go?version?go1.12.4?linux/amd64
安装后 Golang 开发环境后 我们即将进入到 Golang 的开发海洋中。
小结关于集成开发环境 读者们可以按照自己的喜好自行选择相关的集成开发环境。如果可能的话 我在此推荐 Jetbarins 公司的 Goland 集成开发环境 相关地址为 https://www.jetbrains.com/go/。在代码演示中 我们将尽量通过命令行的方式对程序进行编译和调试 减少对开发环境的依赖。
阅读最新文章 欢迎关注公众号 aoho 求索
网络安全技能的差距如今仍然是一个现实问题,但最终可能会解决。根据(ISC)公司发...
1. 接口描述 接口请求域名: cvm.tencentcloudapi.com 。 本接口 (DescribeInsta...
1. 接口描述 接口请求域名: cvm.tencentcloudapi.com 。 本接口(DescribeImage...
数据分析领域的两位思想领袖对冠状病毒、暗数据、数据科学家的角色进行了分析和...
域名 过期多少天可以注册?域名过期大概60天以后会被注册局删除,删除之后就可以...
A公司在华为云中购买了多种资源,公司中有多个职能团队,这些职能团队需要使用一...
物联网的传感器源源不断产生的大量数据,构成了大数据的重要来源。没有物联网的...
在新冠疫情大流行期间,随着组织对数据的依赖持续增加,Druva的一项调查发现印度...
ftp如何搭建 云服务器 ?搭建服务器的话通常有两种方法,一种是在自己的电脑上搭...
港台 虚拟主机 怎么样?港台 虚拟主机 ,最直观的好处就是免备案,对于那些怕备...