GO语言发展史
Go语言是2009年11月,由谷歌公司发布的一款强静态类型、编译型语言。它具有C语言的语法特性,但功能上又具备内存安全,垃圾回收,结构形态和并行计算等特点。
对于广大的开发者的一个福音是go完全开源。在云原生,云计算的今天,Go语言又被称之为云计算时代的C语言,它诞生的目的是为了让广大程序员们具有快速的开发效率,因为它专门针对多处理器系统应用应用程序提供了优化。
GO语言的优势
1、go具有天然的并发优势,特别是针对于高并发,多线程的开发,它能够完美并且简单的大显身手。
2、他可以直接编译成机器码,不依赖其他库,也无需像java一样需要安装虚拟机进行过渡。
3、具有丰富的标准库,特别是网络库这一块非常强大。
4、高度活跃的社区群,一个语言发展自然离不开社区的支持,Go语言具有良好且活跃的社区,各类高手纷纷为Go语言的丰富增砖添瓦。
5、Go语言内置强大的工具,例如fmt 自动化格式代码,能够让团队成员的codereview 变得简单,且格式统一。
GO的应用场景
1、服务器编程,以前你如果使用C或者C++做的那些事情,用Go来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等。
2、分布式系统,数据库代理器等。
3、网络编程,这一块目前应用最广,包括Web应用、API应用、下载应用。
4、内存数据库,如google开发的groupcache,couchbase的部分组建。
5、云平台,例如现目前很火爆的k8s 也是利用go语言进行开发完成
当然讲了这么多,那么小编接下来针对Go语言为大家带来go语言的入门到精通的编程系列教程。当然也是希望大家能够勤学多练,一步一个脚印。
MON
04
GO的搭建环境
总所周知,要学习任何一门语言,首先的就是要先安装运行环境,当然go语言也不例外,首先我们需要下载Go语言的安装包,如图所示:
这里go为大家提供了不同平台的版本,由于我这里所使用的是windows版本的,所以下载的是widows 64位。
下载好之后一路双击msi,然后按照步骤一路点点点即可(PS:值得注意的点是安装路径不要有中文名)。直到这里go语言的安装已经完成了80%了,是不是很简单。
接下来的重点就是为大家介绍一下go语言的环境变量了,go语言中常用的配置变量有两个GOROOT和GOPATH,当然也存在其他的变量。
1、GOROOT:go的安装目录,配置后不会再更改;
2、$PATH:需要将go的bin目录添加到系统$PATH中以便方便使用go的相关命令,配置后也不会再更改;
3、$GOPATH:go项目在本地的开发环境的的项目根路径(以便项目编译,go build, go install),不同的项目在编译的时候该环境变量可以不同,当然GOPATH可以有一个或者多个的存在,但是GOROOT只能有一个。
当我们配置好环境变量后,小伙伴们就可以运行cmd命令查看go语言的环境是否安装完成了。
运行命令 go version 之后,如果出现以下的画面,那么就代表各位已经成功安装好环境,我们就可以愉快的进行Go语言的代码编写啦!
GO的代码工具
针对于go语言的开发,开发工具有很多,例如:
1、LiteIDE 是一款开源、跨平台的轻量级 Go 语言集成开发环境(IDE)。
2、eclipse 但是在eclipse上进行go语言的开发,需要下载插件
3、GoLand (推荐)GoLand 是 Jetbrains 家族的 Go 语言 IDE,专门为Go语言开发而成,非常好用,以后小编的代码讲解也是基于goland 为大家讲解。
加餐时间:因为Go语言是非常强大的一门语言,所以内置了很多处理go语言代码的命令和工具,这里常用一些命令给小伙伴罗列出来,以防不时之需。
build:用于编译给定的代码包或Go语言源码文件及其依赖包。
clean:用于清除执行其他go命令后遗留的目录和文件。
doc:用于执行godoc命令以打印指定代码包。
env:用于打印Go语言环境信息。
fix:用于执行go tool fix命令以修正给定代码包的源码文件中包含的过时语法和代码调用。
fmt:用于执行gofmt命令以格式化给定代码包中的源码文件。
get:用于下载和安装给定代码包及其依赖包(提前安装git或hg)。
list:用于显示给定代码包的信息。
run:用于编译并运行给定的命令源码文件。
install:编译包文件并编译整个程序。
test:用于测试给定的代码包。
tool:用于运行Go语言的特殊工具。
version:用于显示当前安装的Go语言的版本信息。
今天的分享就到此结束了,我们了解到了关于go语言的发展和优势,然后又对go语言的开发环境进行了讲解,下节课我将为大家带来精心准备的Go语言教程系列之初窥门径。