Golang简介
- 来自贝尔实验室的两位大牛罗布·派克,肯·汤普逊与Google的罗伯特·格瑞史莫,2007年开始设计的一种编译型,可平行化,并具有垃圾回收功能的编程语言。
- 罗布·派克(Rob Pike)1980年奥运会射箭的银牌得主(超级厉害了)
- C语言之父肯·汤普逊(Kenneth Lane Thompson)
- 罗伯特·格瑞史莫(Robert Griesemer)曾在Java编译器方面的工作
- Ian Lance TaylorGithub
- Russ Cox
- Go语言是基于Inferno操作系统所开发的。
- Go语言于2009年11月有Google正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后追加Windows系统下的实现。
- Go语言和云计算——洪峰老师讲创客道
- 贝尔实验室
- Go语言的特点在wiki里有介绍
语言
- Go程序可以从3行到数百万行,它被写入到一个或多个文本文件扩展名“.go”;例如,hello.go。你可以用“vi”,“vim”或任何其他文本编辑器来编写Go程序到到文件中。
- go build hello.go可以编译生成一个二进制的hello linux没有后缀
- go run hello.go 可以直接执行
环境搭建
- 安装
- 新立安装版本不是最新的
sudo apt-get install golang
-到官网去下需要的安装包
wget https://storage.googleapis.com/golang/go1.6.2.linux-amd64.tar.gz
tar -C /usr/local -zxf go1.6.2.linux-amd64.tar.gz
到这里下载
本地路径(/usr/local/go)放在这个路径下就不用设GOROOT变量了
卸载
卸载golang-go
sudo apt-get remove golang-go
卸载golang-go及其依赖
sudo apt-get remove --auto-remove golang-go
卸载golang-go并删除其本地和配置文件
sudo apt-get purge golang-go
卸载golang-go及其依赖并删除其本地和配置文件
sudo apt-get purge --auto-remove golang-go
环境变量 /etc/profile
# Golang
export GOPATH=/home/lbb/work/gopackage
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
(~/work/go)这个目录里放了第三方包和一些开源学习的项目
(~/work/go/src/go)这个目录里放了自己的代码
Linux系统安装到/usr/local/不用设置$GOROOT,其他路径要设置
Sublime Text3
- 搜索并安装goSublime插件安装方法
- crtl+b可以调出命令行,来编译执行go代码
配置编译环境
用 Sublime 开发 golang 的环境很简单,
需要安装一个
- 代码格式化 GoImports
GoImports需要goimports包
go get golang.org/x/tools/cmd/goimports
但是在一些(1.5版以前的)插件和项目中好像还是掉的这里可以拷贝一份或者建个软链接
preferences->package settings->gosublime->setting-user中添加如下内容
{
"fmt_cmd": ["goimports"],
"env": {
"GOPATH": "D://work//go-work",
"GOROOT": "C://Go"
},
"font_size": 12,
"highlight_line": true,
"highlight_modified_tabs": true,
"ignored_packages":
[
"Vintage"
],
"soda_classic_tabs": true,
"soda_folder_icons": true,
"tab_size": 4,
"translate_tabs_to_spaces": true,
"update_check": false,
"word_wrap": true
}
- sublime-build
安裝 Golang Build
{
"working_dir": "$file_path",
"cmd": ["go", "build", "$file_name"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"selector": "source.go",
"variants": [{
"name": "Run",
"shell_cmd": "go run \"$file_name\""
}]
}
- go get github.com/nsf/gocode
- go get github.com/slene/margo
VIM
- Golang开发环境搭建-Vim篇
- 把vim当做golang的IDE
- 基于vim搭建Go开发环境
- vim 安装vim-go 打造GOLANG 专用IDE
- 为Vim配置Golang开发环境
- github的vim-go-ide