GO语言学习
Posted 林散
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GO语言学习相关的知识,希望对你有一定的参考价值。
ubuntu 14.04 GO 语言编译环境的安装
1. 利用ubuntu的库安装
sudo apt-get install golang
但是用ubuntu的库安装有几个不好的地方:
- golang的版本由ubuntu的库决定,ubuntu14.04目前提供的golang 1.2.1
- golang的语言的环境设置已经默认设置,比如GOROOT设置为/usr/local/bin,GOPATH等
因此建议不要使用ubuntu的库安装golang环境
2. 使用golang官方文档安装
golang社区的安装指导https://golang.org/doc/install
2.1 卸载ubuntu14.04库安装的go
卸载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
2.2利用编译好的文件安装
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
设置环境变量,修改etc/profile文件,使默认搜索go所在位置
export PATH=$PATH:/usr/local/go/bin
如果go安装在其他位置,将其他位置加入PATH路径中
2.3 测试GO安装
设置go的工作环境,修改$HOME/.profile文件
export GOPATH=$HOME/gowork
测试hello-world
mkdir $HOME/gowork/src/hello
cd $HOME/gowork/src/hello && touch hello.go
将以下代码输入hello.go
package main
import "fmt"
func main()
fmt.Printf("hello, world\\n")
编译和测试
go install hello
$GOPATH/bin/hello
3. vim go 语言编写环境配置
3.1 vim go语言语法高亮
由于neocomplete插件要求vim7.4及以上,并且要求vim 支持lua,但是ubuntu 14.04 库安装的vim不支持lua,所以需要卸载后从源代码安装。 参考http://winter233.com/Using-Vim-with-Neocomplete/
// 卸载原来的vim, 如果原来没有gvim,则命令中删除gvim sudo apt-get remove vim vim-runtime gvim //安装vim依赖的包和工具,如果不需要桌面环境的支持(gvim),则在命令中删除gnome\\gnomeui\\libgtk\\libatk\\libbonoboui\\libcairo\\libx11\\libxpm\\libxt, 如果使用git而不是hg,则删除mercurial sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \\ libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \\ libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev \\ ruby-dev mercurial // install lua sudo apt-get install liblua5.2-dev lua5.2 //compile vim74 from source, 如果没有桌面环境,则可删除<--enable-gui=gtk2> wget ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2 tar xvf vim-7.4.tar.bz2 cd vim74 ./configure --with-features=huge \\ --enable-multibyte \\ --enable-rubyinterp \\ --enable-pythoninterp \\ --with-python-config-dir=/usr/lib/python2.7/config \\ --enable-perlinterp \\ --enable-luainterp \\ --enable-gui=gtk2 --enable-cscope --prefix=/usr //set vim74 rumtimedir, and finish install make VIMRUNTIMEDIR=/usr/share/vim/vim74 sudo make install //Check installation by typing vim --version in shell or :echo has("lua") in vim.
安装vundle,用来管理vim插件, vundle在github上,https://github.com/VundleVim/Vundle.vim
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
配置$HOME目录下的.vimrc文件,从链接地址上粘贴过来即可(略)
安装vim-go, vim的go语言插件,https://github.com/fatih/vim-go 修改.vimrc文件,添加如下:
Plugin 'fatih/vim-go'
vim-go要完全工作,还需要一些必要的工具(比如gocode, godef, goimport etc),这些工具可以通过vim自带的
:GoInstallBinaries
命令安装,如果之前安装过,可以通过:GoUpdateBinaries
更新,这样安装会使gocode等工具安装在$GOPATH/bin目录下。安装neocomplete.vim, https://github.com/Shougo/neocomplete.vim这是vim-go推荐的实时自动补全的插件
Plugin 'Shougo/neocomplete.vim'
安装ctags + gotags + tagbar, 其中由于ctags不支持go,所以使用与ctags兼容的gotags。
// install ctags wget http://prdownloads.sourceforge.net/ctags/ctags-5.8.tar.gz tar -zxf ctags-5.8.tar.gz cd ctags && ./configure && make && make install // install gotags, 具体见gotags的github go get -u github.com/jstemmer/gotags // add config to .vimrc for tagbar let g:tagbar_type_go = \\ 'ctagstype' : 'go', \\ 'kinds' : [ \\ 'p:package', \\ 'i:imports:1', \\ 'c:constants', \\ 'v:variables', \\ 't:types', \\ 'n:interfaces', \\ 'w:fields', \\ 'e:embedded', \\ 'm:methods', \\ 'r:constructor', \\ 'f:functions' \\ ], \\ 'sro' : '.', \\ 'kind2scope' : \\ 't' : 'ctype', \\ 'n' : 'ntype' \\ , \\ 'scope2kind' : \\ 'ctype' : 't', \\ 'ntype' : 'n' \\ , \\ 'ctagsbin' : 'gotags', \\ 'ctagsargs' : '-sort -silent' \\ //install tag using vundle Plugin 'majutsushi/tagbar' //add config to .vimrc for quick start, 具体见tagbar的github nmap <F8> :TagbarToggle<CR>
vim配置完之后,需要重新登陆终端才能生效。
以上是关于GO语言学习的主要内容,如果未能解决你的问题,请参考以下文章