Go介绍
Go 语言被誉为21世纪的C 语言,由Google 公司开发,天生对高并发有着优秀的支持。并且语法极度简洁,关键字仅有25个。
所以使用Go 语言时你不用担心自己写的和大神写的有着天差地别,Go 语言开发者所书写的代码大家基本都是能看得懂的。
值得一提的是Go 的跨平台性,Go 语言跨平台性强到令人发指,你甚至可以再windows 下进行开发然后编译出linux 下的二进制文件进行部署。
Go安装
以下是Go 语言的官网,点击下载进行安装即可。

Windows
windows 平台下的安装十分简单。当我们下载完安装程序后,双击打开进行安装即可。





Linux
如果你习惯了在Linux 下进行编码,则可以安装Linux 的Golang 。
当然,基于Golang 的跨平台特性,你在window 下进行安装和书写代码后编译为Linux 下的可执行文件也可。
选择你的Go 版本,进行安装。
wget https://dl.google.com/go/go1.14.1.linux-amd64.tar.gz
将下载好的文件解压到/usr/local 目录下(建议使用root 用户解压):
tar -zxvf go1.14.1.linux-amd64.tar.gz -C /usr/local # 解压
最后配置一下环境变量,: Linux 下有两个文件可以配置环境变量,其中/etc/profile 是对所有用户生效的;$HOME/.profile 是对当前用户生效的,根据自己的情况自行选择一个文件打开,添加如下两行代码,保存退出。
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
修改/etc/profile 后要重启生效,修改$HOME/.profile 后使用source命令加载$HOME/.profile 文件即可生效。 检查:
~ go version
go version go1.14.1 linux/amd64
版本检查
当安装完Go 后,打开终端输入go version 命令即可检查是否安装成功。

目录结构
我们在windows 下打开刚刚安装好的Go ,可查看到如下的目录结构:
目录名 |
描述 |
api |
每个版本的 api 变更差异 |
bin |
go 源码包编译出的编译器(go)、文档工具(godoc)、格式化工具(gofmt) |
doc |
英文版的 Go 文档 |
lib |
引用的一些库文件 |
misc |
杂项用途的文件,例如 Android 平台的编译、git 的提交钩子等 |
pkg |
Windows 平台编译好的中间文件 |
src |
标准库的源码 |
test |
测试用例 |
环境变量
GOROOT
GOROOT 为安装Go 开发包的路径。
GOPATH
GOPATH 的路径需要我们自己在环境变量中进行配置,然后才可以使用Go 语言进行开发。
默认的在用户变量中,有一个GOPATH ,我们可以将他修改为系统变量或者修改其中的值。
修改任意值即可。


在设置完环境变量后,使用go env 可进行测试查看。
C:Users云崖先生>go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:Users云崖先生AppDataLocalgo-build
set GOENV=C:Users云崖先生AppDataRoaminggoenv
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=D:GoLeranpkgmod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=D:GoLeran
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=D:Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=D:Gopkgtoolwindows_amd64
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:Users 云崖先生AppDataLocalTempgo-build516282802=/tmp/go-build -gno-record-gcc-switches
工程目录
当配置完GOPATH 的环境变量后,我们还需要创建一些文件夹。
那么对于个人开发者和工程开发来说,都具有一个不同的目录结构。
个人开发
在GOPATH 中,我们编写的GO 源码都应该存放于src 文件夹下。
注意:默认的GOPATH下的bin目录也会添加至环境变量中。

工程开发
在工程开发中,推荐使用个人的Github 域名来进行文件夹的命名。
因为在Go 语言中,是按照包来进行管理的,所以为了防止不同包的项目名冲突,就可以按照这种结构来组织目录。

编译执行
VScode工具包
这里创建出了一个Go 文件,并书写我们的第一个Go 程序。
在书写Go 程序时,我们可以安装一些Go 的工具包(需要先安装git )。
首先需要设置GOPROXY ,打开终端设置如下:
go env -w GOPROXY=https://goproxy.cn,direct
打开vscode ,Windows 平台按下Ctrl+Shift+P ,Mac 平台按Command+Shift+P ,这个时候vscode 界面会弹出一个输入框,在其中输入如下命令:
Go:install/Update Tools
然后全选,开始安装工具包。


Go编写
接下来编写我们的第一个Go 程序,命名为hello.go 。
package main // 声明main包,表明这是一个可执行程序
import "fmt" // 导入内置的fmt包
func main() { // main 程序入口
fmt.Println("hello,world!!") // 终端打印
}
go build
go build 表示将源代码编译成可执行文件。
如下,我们将hello.go 进行编译,在终端输入以下命令:
PS D:GoLeransrcyunya.com> go build -o hello.exe // 将hello.go进行编译,编译的文件名为hello.exe
PS D:GoLeransrcyunya.com> .hello.exe // 执行该文件
hello,world!!
如果不使用-o ,则将以上级目录名称作为编译后的文件名称。
当然,你也可以在其他地方使用go build ,后面跟上项目路径。
go install
go install 会自动进行编译,然后进行执行。
它会将编译结果的可执行文件放在GOPATH 的bin 目录下。
go run
go run 可以使go 的源码文件立即进行执行而不进行编译。
D:GoLeransrcyunya.com>go run hello.go
hello,world!!
跨平台编译
默认我们go build 的可执行文件都是当前操作系统可执行的文件,如果我想在windows 下编译一个Linux 下可执行文件,那需要怎么做呢?
只需要指定目标操作系统的平台和处理器架构即可,在cmd 下输入以下三条命令:
SET CGO_ENABLED=0 // 禁用CGO 使用了CGO的代码是不支持跨平台编译的
SET GOOS=linux // 目标平台是linux
SET GOARCH=amd64 // 目标处理器架构是amd64
然后再执行go build 命令,得到的就是能够在Linux 平台运行的可执行文件了。
Mac 下编译 Linux 和Windows 平台 64位 可执行程序:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Linux 下编译Mac 和Windows 平台64位可执行程序:
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
Windows 下编译Mac 平台64位可执行程序:
SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|