go environment configuration
wget
yum install wget
下载并解压
wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
tar -zxvf go1.8.3.linux-amd64.tar.gz
配置环境变量
vim /etc/profile
export PATH=$PATH:/home/wecash/dev/hadoop-2.8.0/bin:/home/wecash/dev/hadoop-2.8.0/sbin:/home/wecash/go/go/bin
在系统变量中设置
GoROOT
vim ~/.bashrc
export GOPATH=/home/wecash/go/gopath
export GOROOT=/home/wecash/go/go
不设置的化会出现异常:
golang语言的优势?
1、可以直接编译成机器码,不依赖其他库 glibc的版本有一定的需求
2、静态类型语言,可以在编译的时候检查出来隐藏的大多数问题
3、支持并发,go的最大特色
4、内置runtime,支持垃圾回收。
5、简单易学,关键字25个
6、丰富的标准库,网络库非常强大
7、内置工具,比如 gofmt 自动格式化代码。
8、跨平台编译
9、内嵌C支持
golang可以做什么?
1. 服务器编程,日志处理 数据打包 虚拟机处理 文件系统
2. 分布式系统,数据库代理器
3. 网络编程,web应用 api应用 下载应用
4. 内存数据库 groupcache
5. 云平台
golang项目:
- docker
- nsq:bilty开源的消息队列系统,性能非常高,目前他们每天处理数亿的消息
- skynet:分布式调度框架
- heka:mazila开源的日志处理系统
- god:类似redis的缓存系统
- gor:网络流量抓包和重放工具
golang的缺点:
1. import包不支持版本,有时候升级会导致项目不可运行。
2. Gc延迟