go简介与安装

简介

GO 语言特点

  1. 运行效率高,开发高效,部署简单 (可直接编译成机器码,不依赖其他库,glibc的版本有一定要求,部署就是扔一个文件上去就完成了)
  2. 语言层面支持并发,易于利用多核实现并发 (最大特点)
  3. 内置 runtime(作用:性能监控,GC 等),支持垃圾回收
  4. 丰富标准库,强大网络库
  5. 内置强大的工具( gofmt ),跨平台编译,内嵌 C 支持

GO 语言的应用

  1. 服务器编程,以前你如果使用 C 或者 C++ 做的那些事情,用 Go 来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等。
  2. 分布式系统,数据库代理器等
  3. 网络编程,这一块目前应用最广,包括Web应用、API应用、下载应用、
  4. 内存数据库,前一段时间 google 开发的 groupcache,couchbase 的部分组建
  5. 云平台,目前国外很多云平台在采用 Go 开发,CloudFoundy 的部分组建,前 VMare 的技术总监自己出来搞的 apcera 云平台。

GO 语言命令行工具

  1. go build 用于编译源码文件,代码包,依赖包;
  2. go run 可以编译并运行Go源码文件
  3. go get 主要用来动态获取远程代码包

编译 windows x86_64 GOOS=windows GOARCH=amd64 go build hello.go

GO 安装

使用 linux

1
2
3
4
5
6
7
8
9
10
11
12
13
14
cd /usr/src
wget https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz
tar -xvf go*.linux-amd64.tar.gz -C /usr/local/

cat > /etc/profile.d/go_env.sh < EOF
export GOROOT="/usr/local/go"
export GOPATH=$HOME/go
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN
EOF

source /etc/profile
go version
go env

一些配置

1
2
3
4
go env -w GOPROXY=https://goproxy.cn,https://mirrors.aliyun.com/goproxy/,direct
go env -w GO111MODULE=on

go env -w GOPRIVATE="*.example.com"