go语言快速入门:简介(1)
发布日期:2021-06-30 20:24:06 浏览次数:2 分类:技术文章

本文共 2998 字,大约阅读时间需要 9 分钟。

go语言成为2016年TIOBE年度语言,距离上次TIOBE年度语言至今已经过去7年,在过去的7年里,go语言也得到了广泛的应用,尤其是在开源领域,从docker到kubernetes都使用了go作为开发语言。在这系列文章中,我们将一起来由浅入深学习一下go语言,至少在研究这些流行的开源软件更加得心应手一些。

背景

go语言是由google在2009年11月10日发布的一门全新的语言,支持面向对象和反射机制,具有接近于c的运行速度,远远快于c和c++的编译速度,近似脚本语言的灵活。当然和总多流行语言一样,有着众多坚定的支持者和不屑一顾的反对者,但是从它诞生到现在,发展和扩散的速度一直很快也是不争的事实。

特点

go语言具有很多的特点,将一部分主要特点列举如下:

项番 详细内容
No.1 静态编译型语言
No.2 语法简洁,趋近于脚本化
No.3 跨平台支持
No.4 自动垃圾回收机制
No.5 具有并发变成模型和机制(goroutine等)
No.6 支持多种编程风格,支持面向对象
No.7 无继承层次的轻量级方式
No.8 全面的工具支持
No.9 统一的代码风格以及自己的代码格式化工具
No.10 编译和运行速度飞快
No.11 总多的标准库
No.12

安装

安装非常简单,只需要下载/解压/设定环境变量即可,本系列文章中使用CentOS,整体相关相差无几,仅仅在于安装时的package/以及环境变量的设定方式的OS的差别而已。

项目 详细信息
下载地址
下载版本 1.7.5
OS Linux
OS bit 64bit
二进制链接

这里写图片描述

安装命令:cd /usr/localwget https://storage.googleapis.com/golang/go1.7.5.linux-amd64.tar.gzgunzip -dc go1.7.5.linux-amd64.tar.gz |tar xvf -

环境变量

go只需要设定GOROOT和PATH即可,在CentOS如下设定即可对全用户有效。

[root@liumiaocn ~]# tail -n2 /etc/profileexport GOROOT=/usr/local/goexport PATH=$PATH:${GOROOT}/bin[root@liumiaocn ~]#

结果确认

[root@liumiaocn ~]# echo $GOROOT/usr/local/go[root@liumiaocn ~]# which go/usr/local/go/bin/go[root@liumiaocn ~]#

除了GOROOT和PATH的环境变量,GO还有其他一些环境变量,入门阶段可以不作深入确认,在后面的学习中将会慢慢展开,如上安装之后,相关的环境变量信息如下所示:

项目 设定内容
GOARCH “amd64”
GOBIN “”
GOEXE “”
GOHOSTARCH “amd64”
GOHOSTOS “linux”
GOOS “linux”
GOPATH “”
GORACE “”
GOROOT “/usr/local/go”
GOTOOLDIR “/usr/local/go/pkg/tool/linux_amd64”
CC “gcc”
GOGCCFLAGS “-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build703746769=/tmp/go-build -gno-record-gcc-switches”
CXX “g++”
CGO_ENABLED “1”

版本确认

使用如下命令,可以确认所安装的版本为go1.7.5,安装则正常完成了。

[root@liumiaocn ~]# go versiongo version go1.7.5 linux/amd64[root@liumiaocn ~]#

安装详细

解压后,go1.7.5被gunzip到/usr/local/go下,详细的信息如下所示:

[root@liumiaocn go]# pwd/usr/local/go[root@liumiaocn go]# ls -ltotal 132drwxr-xr-x.  2 root root  4096 Jan 26 12:43 api-rw-r--r--.  1 root root 29041 Jan 26 12:43 AUTHORSdrwxr-xr-x.  2 root root    39 Jan 26 12:48 bindrwxr-xr-x.  4 root root    35 Jan 26 12:48 blog-rw-r--r--.  1 root root  1168 Jan 26 12:43 CONTRIBUTING.md-rw-r--r--.  1 root root 40192 Jan 26 12:43 CONTRIBUTORSdrwxr-xr-x.  8 root root  4096 Jan 26 12:43 doc-rw-r--r--.  1 root root  5686 Jan 26 12:43 favicon.icodrwxr-xr-x.  3 root root    17 Jan 26 12:43 lib-rw-r--r--.  1 root root  1479 Jan 26 12:43 LICENSEdrwxr-xr-x. 14 root root  4096 Jan 26 12:48 misc-rw-r--r--.  1 root root  1303 Jan 26 12:43 PATENTSdrwxr-xr-x.  7 root root    82 Jan 26 12:48 pkg-rw-r--r--.  1 root root  1638 Jan 26 12:43 README.md-rw-r--r--.  1 root root    26 Jan 26 12:43 robots.txtdrwxr-xr-x. 45 root root  4096 Jan 26 12:43 srcdrwxr-xr-x. 18 root root  8192 Jan 26 12:48 test-rw-r--r--.  1 root root     7 Jan 26 12:43 VERSION[root@liumiaocn go]#

对经常可能用到的文件夹,进行简单说明如下:

项目 详细说明
api go各个版本的api,保存在go1.1.txt到go1.7.txt7个文件中。except.txt保存即将废弃的api,而next.txt保存着下个版本将会出现的内容
bin 相关的可执行文件,缺省会有go/gofmt/godoc
doc 离线官方文档和说明
misc 各IDE的插件等
pkg go标准库的归档文件
src 源码
test 测试代码

C语言的经验者

有C语言的经验的开发者中可以从下面的比较中快速上手。

总结

通过本文可以简单了解go的特点以及如何在centos上安装go1.7.5,以及安装后各目录的作用。

转载地址:https://liumiaocn.blog.csdn.net/article/details/54784095 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:go语言快速入门:第一个HelloWorld(2)
下一篇:DevOps 2016年度十大热点事件

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月14日 09时26分53秒