【GO语言】入门基础
一、Go 语言特性及优劣
优势:
- 语法简单,易于学习,类C语法
- 自带GC,方便使用
- 快速编译,执行高效
- 简单的依赖管理
- 并发编程
- 静态语言类型,同时具备一些动态语言特征(var声明)
- 标准类库,规范统一
劣势:
- 不支持泛型
- 不支持动态加载代码
- 发展时间短,生态不及老牌编程语言丰富
常见应用场景:
- 巨型中央服务器领域
- 高性能分布式领域
- 游戏服务端开发
- 复杂事件处理
- 对实时性要求较高的软件开发
- 可以在Intel 和 ARM 架构处理器上运行,因此支持在安卓上运行
微服务开发
- 零依赖,最小化镜像
- Runtime使用更小的内存,相较于Java的JVM
- 更好的并行能力,当需要使用更多的CPu时
- 更高的性能,对比解释性语言,在处理数据以及并发方面具备更强优势
- 简单,学习成本低
- 更加贴合云原生环境
二、Go 语言开发环境搭建
下载链接:https://studygolang.com/dl
Windows安装
1、安装go
下载 msi 格式安装包,默认安装即可
2、配置环境变量
图形化配置
命令行配置
[Environment]::SetEnvironmentVariable('GOROOT','安装目录' , 'Machine') [Environment]::SetEnvironmentVariable('GOPATH','用户配置目录' , 'Machine') [Environment]::SetEnvironmentVariable('GO111MODULE','on' , 'Machine') [Environment]::SetEnvironmentVariable('GOPROXY','https://goproxy.cn' , 'Machine') $path = [Environment]::GetEnvironmentVariable('Path', 'Machine') $newpath = '%GOROOT%' + '\bin;' + '%GOPATH%' + '\bin;' + $path [Environment]::SetEnvironmentVariable('Path', $newpath, 'Machine')
3、验证安装
C:\Users\hasee>go env set GO111MODULE=on set GOARCH=amd64 set GOBIN= set GOCACHE=C:\Users\hasee\AppData\Local\go-build set GOENV=C:\Users\hasee\AppData\Roaming\go\env set GOEXE=.exe set GOFLAGS= set GOHOSTARCH=amd64 set GOHOSTOS=windows set GOINSECURE= set GOMODCACHE=F:\go\go_path\pkg\mod set GONOPROXY= set GONOSUMDB= set GOOS=windows set GOPATH=F:\go\go_path set GOPRIVATE= set GOPROXY=https://goproxy.cn set GOROOT=C:\Program Files\Go set GOSUMDB=sum.golang.org set GOTMPDIR= set GOTOOLDIR=C:\Program Files\Go\pkg\tool\windows_amd64 set GOVCS= set GOVERSION=go1.16.3 set GCCGO=gccgo set AR=ar set CC=gcc set CXX=g++ set CGO_ENABLED=1 set GOMOD=NUL 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\hasee\AppData\Local\Temp\go-build3401413553=/tmp/go-build -gno-record-gcc-switches
Linux安装
1、安装go
2、配置环境变量
export GOROOT=/usr/local/go export GOPATH=/data/go_path export GO111MODULE=on export GOPROXY=https://goproxy.cn export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
3、验证安装
三、Go 环境变量
GO Modules 依赖包查找机制
下载的第三方依赖存储在 $GOPATH/pkg/mod 下
go install 生成的可执行文件存储在 $GOPATH/bin 下
依赖包查找顺序
1、工作目录
2、$GOPATH/pkg/mod
3、$GOROOT/src
三、IDE 工具
Goland:https://www.jetbrains.com/go/download/download-thanks.html
VSCode下载链接:https://code.visualstudio.com/Download
Go插件安装
汉化插件安装
四、创建第一个Go程序
1、创建go项目目录 F:\go\go_project\test
2、初始化 go.mod 文件
PS F:\go\go_project\test> go mod init test go: creating new go.mod: module test PS F:\go\go_project\test> Get-Content .\go.mod module test go 1.16
3、新建一个 main.go 文件
package main import "fmt" func main() { fmt.Println("Hello World !") }
4、运行 main.go
PS F:\go\go_project\test> go run .\main.go Hello World ! PS F:\go\go_project\test>