Python 程式設計師的 Golang 學習指南(II): 開發環境搭建

Cloudinsight發表於2016-10-12

Authors: startover


上一篇文章我們已經對 Golang 有了初步的瞭解,這篇主要介紹如何在 Ubuntu 14.04 上搭建 Golang 開發環境。

安裝 Golang

這裡就按照官方文件進行安裝即可,如下:

  • 下載並解壓安裝包到指定目錄
$ wget https://storage.googleapis.com ... ar.gz
$ tar -C /usr/local -xzf go1.6.3.linux-amd64.tar.gz
  • 設定 PATH
$ echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.bashrc
$ source ~/.bashrc
  • 驗證安裝
$ go version
go version go1.6.3 linux/amd64

環境變數設定

$ echo "export GOROOT=/usr/local/go" >> ~/.bashrc
$ echo "export GOPATH=$HOME/go" >> ~/.bashrc
$ source ~/.bashrc

其中,GOROOT 為 Golang 的安裝目錄,只有當 Golang 安裝到除 /usr/local 之外的路徑時需要設定,反之則不用設定,GOPATH 是 Golang 的開發目錄,詳細可參考官方文件

開發工具

工欲善其事,必先利其器,作為一名偽 VIMer,這裡主要介紹下如何在 Vim 下配置 Golang 開發環境。

由於之前一直使用 k-vim 作為 Python 開發環境,而 k-vim 已經整合了當前使用最為廣泛的用於搭建 Golang 開發環境的 vim 外掛 vim-go,只是預設沒有開啟,需要我們手動進行相關設定。

k-vim 中開啟 Golang 語言的支援,非常簡單,如下:

  • 修改 ~/.vimrc.bundles(開啟 golang 支援,並修改 vim-go 的預設配置,增加快捷鍵配置等)。
let g:bundle_groups=['python', 'javascript', 'markdown', 'html', 'css', 'tmux', 'beta', 'json', 'golang']

" vimgo {{{
    let g:go_highlight_functions = 1
    let g:go_highlight_methods = 1
    let g:go_highlight_structs = 1
    let g:go_highlight_operators = 1
    let g:go_highlight_build_constraints = 1

    let g:go_fmt_fail_silently = 1
    let g:go_fmt_command = "goimports"
    let g:syntastic_go_checkers = ['golint', 'govet', 'errcheck']

    " vim-go custom mappings
    au FileType go nmap <Leader>s <Plug>(go-implements)
    au FileType go nmap <Leader>i <Plug>(go-info)
    au FileType go nmap <Leader>gd <Plug>(go-doc)
    au FileType go nmap <Leader>gv <Plug>(go-doc-vertical)
    au FileType go nmap <leader>r <Plug>(go-run)
    au FileType go nmap <leader>b <Plug>(go-build)
    au FileType go nmap <leader>t <Plug>(go-test)
    au FileType go nmap <leader>c <Plug>(go-coverage)
    au FileType go nmap <Leader>ds <Plug>(go-def-split)
    au FileType go nmap <Leader>dv <Plug>(go-def-vertical)
    au FileType go nmap <Leader>dt <Plug>(go-def-tab)
    au FileType go nmap <Leader>e <Plug>(go-rename)
    au FileType go nnoremap <leader>gr :GoRun %<CR>
" }}}
  • 在 Vim 內執行 :PlugInstall,安裝 vim-go

  • 在 Vim 內執行 :GoInstallBinaries,下載並安裝 vim-go 依賴的二進位制工具,goimportsgolint 等。

  • 安裝 gotags,使 tagbar 配置生效。
$ go get -u github.com/jstemmer/gotags

我們來看一下最終效果:

Image of Golang Environment in Vim

編寫第一個程式

進入工作目錄,新建檔案 hello.go,如下:

$ cd $GOPATH
$ vim hello.go
package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

執行程式:

$ go run hello.go
Hello, World!

本文章為 Cloudinsight 技術團隊工程師原創,更多技術文章可訪問 Cloudinsight 技術部落格Cloudinsight 為視覺化系統監控工具,涵蓋 Windows、Linux 作業系統,用 Golang 開發的 Cloudinsight Agent 正式開源了,歡迎 fork,Github:https://github.com/cloudinsight/cloudinsight-agent

golang-for-pythonistas 系列持續更新中,歡迎關注~

相關文章