Go 语言教程
Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。
Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。
Go 语言特色
- 简洁、快速、安全
- 并行、有趣、开源
- 内存管理、数组安全、编译迅速
Go 语言用途
Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。
对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了。
第一个 Go 程序
接下来我们来编写第一个 Go 程序 hello.go(Go 语言源文件的扩展是 .go),代码如下:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
尝试一下
执行以上代码输出
$ go run hello.go Hello, World!
Go 语言支持以下系统:
- Linux
- FreeBSD
- Mac OS X(也称为 Darwin)
- Window
安装包下载地址为:https://golang.google.cn/dl/。
各个系统对应的包名:
操作系统 | 包名 |
---|---|
Windows | go1.15.2.windows-amd64.msi |
Linux | go1.15.2.linux-amd64.tar.gz |
Mac | go1.15.2.darwin-amd64.pkg |
Source | go1.15.2.src.tar.gz |
UNIX/Linux/Mac OS X, 和 FreeBSD 安装
以下介绍了在UNIX/Linux/Mac OS X, 和 FreeBSD系统下使用源码安装方法:
1、下载源码包:go1.15.2.linux-amd64.tar.gz。
2、将下载的源码包解压至 /usr/local目录。
tar -C /usr/local -xzf go1.15.2.linux-amd64.tar.gz
3、将 /usr/local/go/bin 目录添加至PATH环境变量:
export PATH=$PATH:/usr/local/go/bin
4、验证是否安装成功命令:
$ go version
注意:MAC 系统下你可以使用 .pkg 结尾的安装包直接双击来完成安装,安装目录在 /usr/local/go/ 下,并将安装路径 /usr/local/go/bin 配置到变量环境中。
Windows 系统下安装
Windows 下可以使用 .msi 后缀(在下载列表中可以找到该文件,如go1.4.2.windows-amd64.msi)的安装包来安装。
默认情况下.msi文件会安装在 c:\Go 目录下。你可以将 c:\Go\bin 目录添加到 PATH 环境变量中。添加后你需要重启命令窗口才能生效。
配置GOPROXY
Go1.12版本之后,开始使用go mod模式来管理依赖环境了
由于国内访问不到默认的GOPROXY配置链接,所以我们需要换一个PROXY,这里推荐使用https://goproxy.io或https://goproxy.cn。
可以执行下面的命令修改GOPROXY:
go env -w GOPROXY=https://goproxy.cn,direct
GO MOD设置
要启用go module支持首先要设置环境变量GO111MODULE,通过它可以开启或关闭模块支持,它有三个可选值:off、on、auto,默认值是auto。
- GO111MODULE=off禁用模块支持,编译时会从GOPATH和vendor文件夹中查找包。
- GO111MODULE=on启用模块支持,编译时会忽略GOPATH和vendor文件夹,只根据 go.mod下载依赖。
- GO111MODULE=auto,当项目在$GOPATH/src外且项目根目录有go.mod文件时,开启模块支持。
通过以下命令修改
go env -w GO111MODULE=on
使用go module模式新建项目时,我们需要通过go mod init 项目名命令对项目进行初始化,该命令会在项目根目录下生成go.mod文件。例如,我们使用hello作为我们第一个Go项目的名称,执行如下命令。
go mod init hello
运行之前可以使用go mod tidy
命令将所需依赖添加到go.mod文件中,并且能去掉项目中不需要的依赖
安装测试
创建工作目录 C:\>Go_WorkSpace。
文件名: test.go,代码如下:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
尝试一下
使用 go 命令执行以上代码输出结果如下:
C:\Go_WorkSpace>go run test.go Hello, World!