GO 语言
Go语言也称为 Golang,是由 Google 公司开发的一种静态强类型、编译型、并发型、并具有垃圾回收功能的编程语言。
Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。
不同于Java,Go内嵌了关联数组(也称为哈希表(Hashes)或字典(Dictionaries)),就像字符串类型一样。
Go语言正是在多核和网络化的时代背景下诞生的原生支持并发的编程语言。Go语言从底层原生支持并发,无须第三方库,开发人员可以很轻松地在编写程序时决定怎么使用 CPU 资源。
Go 语言特色
简洁、快速、安全
并行、有趣、开源
内存管理、数组安全、编译迅速
Go 语言用途
- Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。
- 对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了。
Go环境的搭建
windows 环境,请参见Windows安装Go语言开发包,
Linux环境,请参见Linux(Ubuntu)系统安装Go语言开发包
Mac环境,请参见Mac OS安装Go语言开发包
比较重要的设置项
GOROOT
:GO安装的根目录。GOPATH
:用来设置工作目录,即编写代码的地方。包也都是从GOPATH
设置的路径中寻找。GO111MODULE
:Go语言提供了 GO111MODULE 这个环境变量来作为 Go modules 的开关,其允许设置以下参数:
auto:默认值,go命令行将会根据当前目录来决定是否启用module功能。这种情况下可以分为两种情形:
1) :当前目录在GOPATH/src之外且该目录包含go.mod文件
2): 当前文件在包含go.mod文件的目录下面
on:启用 Go modules,推荐设置,将会是未来版本中的默认值。
off:禁用 Go modules,不推荐设置。
命令:go env -w GO111MODULE=auto
go mod
:包管理工具,Go1.11版本之后无需手动配置环境变量,使用 go mod 管理项目,也不需要非得把项目放到 GOPATH
指定目录下,你可以在你磁盘的任何位置新建一个项目。
命令:go mod init 项目名称
go get
:go get 命令可以借助代码管理工具通过远程拉取或更新代码包及其依赖包,并自动完成编译和安装。