Go 入门
Contents
Go 语言简介
Go 是一门开源,在语言层上支持并发,带垃圾回收的新型编译型语言。具有动态语言的开发效率,静态语言的安全性。Go 语言是 Google 开发的,Go 语言的主要作者都是牛逼到不行的人物。比如:
- 肯·汤普逊(Ken Thompson):C 语言的设计者,Unix 操作系统的创建者,并于 1983 年获得图灵奖。
- 罗布·派克:Unix 小组的成员,《Unix 编程环境》作者之一。
- 罗伯特·格里泽默(Robert Griesemer)参与 Java 的 HotSpot 编译器和 Chrome 浏览器的 JavaScript 引擎 V8 的制作。
有这么多牛逼哄哄的人物镇楼,Go 语言的表现注定不会平庸。
安装
Mac 下安装
brew install go
Linux(Ubuntu)下安装
- 在下载地址中根据自己的电脑系统选择对应的下载。
- 解压下载的安装包到
/usr/local
tar -C /usr/local/ -xzf go$VERSION.$OS-$ARCH.tar.gz #把 go$VERSION.$OS-$ARCH.tar.gz 换成你下载的文件名
配置环境变量
GOROOT
GOROOT 是 Go 语言的安装目录
export GOROOT=/usr/local/opt/go/libexec # Mac 下使用`homebrew`安装的配置
export GOROOT=/usr/local/go # Linux 下的配置
GOPATH
GOPATH 是 Go 语言的工作目录,也就是我们通常开发用到的目录,从 1.8 版本开始, GOPATH 默认为 $HOME/go
export GOPATH=/home/$USER/go
GOBIN
GOBIN 是 Go 语言二进制文件目录,把 GOBIN 加入 PATH 可以在终端中调用。
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN
验证是否安装成功
➜ ~ go version
go version go1.8.3 darwin/amd64 #输出类似则安装成功。
GOPATH 结构
GOPATH 是 Go 语言的工作目录,在 GOPATH 下有三个重要的子目录分别是 src 、 pkg 、 bin 。
src 用来存放 Go 源代码
pkg 存放编译后生成的文件
bin 存放编译后生成的可执行文件
在 Sublime 中使用
Sublime 是一个文本编辑器,扩展性非常好,有丰富的插件库。通过 GoSublime 这个插件就能让 Sublime 具有类似 IDE 智能提示的功能。
启用 package control
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
在打开的文件中输入
{
"env": {
"GOPATH": "~/go",//根据自己的路径修改
"GOROOT": "/usr/local/opt/go/libexec"
}
}
运行
package main
import ("fmt")
func main(){
fmt.Print("hello go")
}
在 sublime 中 按住 cmd+b 后输入 go run hello.go 就可以看都控制台打印了 hello go