携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第4天,点击查看活动详情
最近因为工作需要做一些golang相关的微服务,打算系统的学习一些go,下面就是一些简单学习记录。
介绍
Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。
Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。
Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。
对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了。
首先今天先学习开发环境的安装,将安装一个比较新的版本1.18.5。
下载安装
$ sudo rm -rf /usr/local/go
$ sudo tar -C /usr/local -xzf go1.18.5.linux-amd64.tar.gz
增加环境变量
在~/.bashrc末尾增加下面语句,这样就可以在全局使用go命令了:
export PATH=$PATH:/usr/local/go/bin
因为是新的版本,我们这里就不需要增加GOPATH的环境变量了。GOPATH的历史这里不赘述了,自行找度娘吧。这个感觉介绍的还不错:Golang中的GoPath和GoModule
验证
codemaxi@pc:~/goexample/hello$ go version
go version go1.18.5 linux/amd64
显示了正确的go1.18.5版本,说明安装成功。
Hello go
下面我们写一个hello go的程序验证一下编译和运行就彻底证明环境安装成功了。
首先,创建项目并初始化module,我们上面没有设置GOPATH,使用了module这种方式,所以这里需要go mod init 一下:
codemaxi@pc:~/goexample$ mkdir hello
codemaxi@pc:~/goexample/hello$ cd hello
codemaxi@pc:~/goexample/hello$ go mod init example.com/hello
go: creating new go.mod: module example.com/hello
创建一个hello.go文件,输入如下内容:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
运行程序:
codemaxi@pc:~/goexample/hello$ vim hello.go
codemaxi@pc:~/goexample/hello$ go run .
Hello, World!
go run是跳过编译直接运行程序,中间不会生成可执行文件,如果需要生成可执行文件需要使用go build:
codemaxi@pc:~/goexample/hello$ go build hello.go
codemaxi@pc:~/goexample/hello$ ls
go.mod hello hello.go
codemaxi@pc:~/goexample/hello$ file hello
hello: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, not stripped
可以看到上面生成了hello的可执行文件,是可以直接运行的:
codemaxi@pc:~/goexample/hello$ ./hello
Hello, World!
好了,今天的开发环境安装就到这里啦。