Go 语言简介

Go 是一门开源,在语言层上支持并发,带垃圾回收的新型编译型语言。具有动态语言的开发效率,静态语言的安全性。Go 语言是 Google 开发的,Go 语言的主要作者都是牛逼到不行的人物。比如:

  • 肯·汤普逊(Ken Thompson):C 语言的设计者,Unix 操作系统的创建者,并于 1983 年获得图灵奖。
  • 罗布·派克:Unix 小组的成员,《Unix 编程环境》作者之一。
  • 罗伯特·格里泽默(Robert Griesemer)参与 Java 的 HotSpot 编译器和 Chrome 浏览器的 JavaScript 引擎 V8 的制作。

有这么多牛逼哄哄的人物镇楼,Go 语言的表现注定不会平庸。

安装

Mac 下安装

1
brew install go

Linux(Ubuntu)下安装

  1. 下载地址中根据自己的电脑系统选择对应的下载。
  2. 解压下载的安装包到 /usr/local
1
tar -C /usr/local/ -xzf go$VERSION.$OS-$ARCH.tar.gz #把 go$VERSION.$OS-$ARCH.tar.gz 换成你下载的文件名

配置环境变量

GOROOT

GOROOT 是 Go 语言的安装目录

1
2
export GOROOT=/usr/local/opt/go/libexec # Mac 下使用`homebrew`安装的配置
export GOROOT=/usr/local/go # Linux 下的配置

GOPATH

GOPATH 是 Go 语言的工作目录,也就是我们通常开发用到的目录,从 1.8 版本开始, GOPATH 默认为 $HOME/go

1
export GOPATH=/home/$USER/go

GOBIN

GOBIN 是 Go 语言二进制文件目录,把 GOBIN 加入 PATH 可以在终端中调用。

1
2
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN

验证是否安装成功

1
2
 ➜  ~ go version
go version go1.8.3 darwin/amd64 #输出类似则安装成功。

GOPATH 结构

GOPATH 是 Go 语言的工作目录,在 GOPATH 下有三个重要的子目录分别是 srcpkgbin

src 用来存放 Go 源代码

pkg 存放编译后生成的文件

bin 存放编译后生成的可执行文件

在 Sublime 中使用

Sublime 是一个文本编辑器,扩展性非常好,有丰富的插件库。通过 GoSublime 这个插件就能让 Sublime 具有类似 IDE 智能提示的功能。

启用 package control

1
import urllib.request,os,hashlib; h = 'df21e130d211cfc94d9b0905775a7c0f' + '1e3d39e33b79698005270310898eea76'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

安装 GoSublime

在 sublime 中同时按住 cmd + shift + p ,在弹出的框中输入 install package ,需要等待一会搜索包,搜索完毕后在输入框中输入 gosublime,选中第一个,回车安装好了重启生效

配置 GoSublime

在菜单中选择 Preferences -> package settings -> GoSublime -> Settings -> Uesrs

在打开的文件中输入

1
2
3
4
5
6
{
    "env": {
        "GOPATH": "~/go",//根据自己的路径修改
        "GOROOT": "/usr/local/opt/go/libexec"
    }
}

运行

1
2
3
4
5
package main
import ("fmt")
func main(){
    fmt.Print("hello go")
}

在 sublime 中 按住 cmd+b 后输入 go run hello.go 就可以看都控制台打印了 hello go