种一棵树

种一棵树,最好的时间是十年前,其次是现在。学编程亦如此。

我决定新学一门编程语言,一方面从零学起可以补漏一些计算机基础知识,另一方面为以后的工作储备,多一点发展方向。

为什么选择学习Go?左耳朵耗子的这篇文章讲得很精彩,他以一个前辈的视野论述了Go语言的优缺点和发展前景。

一个技术能不能发展起来,关键看三点:

  • 有没有一个比较好的社区
  • 有没有一个工业化的标准
  • 有没有一个或多个杀手级应用

用这些标尺来量一下Go语言,可以清楚看到:

  • Go 语言容易上手
  • Go 语言解决了并发编程和写底层应用开发效率的痛点
  • Go 语言有Google这个世界一流的技术公司在后面
  • Go 语言的杀手级应用是Docker,而Docker的生态圈在这几年完全爆棚了

好了,话不多说,本文记录一下Go环境配置。

Go安装

Windows

win10系统直接官网下载安装,环境变量都自动配置好了

Linux(CentOS)

下载

wget https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz

解压

tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz

设置环境变量,~/.bashrc、~/.zshrc

1
2
3
4
export GOROOT=$HOME/go
export GOPATH=$HOME/work
export PATH=$PATH:GOROOT/bin:$GOPATH/bin
export GOBIN=$HOME/work/bin

Go命令

go build

编译

go clean

清除编译文件

go get

获取远程包(其实是两步,下载,go install)

go install

加载(生成可执行结果,并自动放到$GOBIN下)

go test

读取*_test.go文件,生成并运行测试用可执行文件

go run

编译并运行Go程序

代码示例

mkdir $GOPATH/hello

1
2
3
4
5
6
7
package main

import "fmt"

func main() {
fmt.Printf("Hello, world.\n")
}

go install hello

hello

输出”Hello,world.”