一、 软件介绍
Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。
罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊(Ken Thompson)于2007年9月开始设计Go,稍后Ian Lance Taylor、Russ Cox加入项目。Go是基于Inferno操作系统所开发的。Go于2009年11月正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后来追加了Windows系统下的实现。在2016年,Go被软件评价公司TIOBE 选为“TIOBE 2016 年最佳语言”。 目前,Go每半年发布一个二级版本(即从a.x升级到a.y)。
Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。
与C++相比,Go并不包括如枚举、异常处理、继承、泛型、断言、虚函数等功能,但增加了 切片(Slice) 型、并发、管道、垃圾回收、接口(Interface)等特性的语言级支持。Go 2.0版本将支持泛型,对于断言的存在,则持负面态度,同时也为自己不提供类型继承来辩护。
不同于Java,Go内嵌了关联数组(也称为哈希表(Hashes)或字典(Dictionaries)),就像字符串类型一样。
二、 支持的操作系统
经过华为云严格实测,以下操作系统在鲲鹏生态中可以完整运行Varnish的全部功能:
CentOS7.6
三、 支持版本和获取方式
下载地址:https://studygolang.com/dl/golang/go1.13.3.linux-arm64.tar.gz
四、 编译与测试环境
本文选用华为鲲鹏云服务器ECS KC1实例做测试,KC1实例的处理器为兼容ARMv8指令集的鲲鹏920。详细规格如下:
类别 | 子项 | 版本 |
云主机配置 | ECS实例类型 | kc1.large.4 |
ECS配置 | 4U16GB | |
EVS | 高IO(80GB) | |
云OS | Kernel | 4.18.0 |
五、 编译安装与测试
1 依赖安装
无
2 编译安装
1) 执行以下命令,获取安装包。
wget https://studygolang.com/dl/golang/go1.13.3.linux-arm64.tar.gz
2) 执行以下命令,解压安装包:
tar -zxvf go1.13.3.linux-arm64.tar.gz
3) 配置环境变量。
vim /etc/profile
添加如下代码:
export GOROOT=/opt/go
export PATH=$PATH:$GOROOT/bin
保存退出。
source /etc/profile
3 验证测试
1) 执行如下命令,测试安装成功。:
go version
4 问题总结
无