1.Go安裝
1.1Go的三種安裝方式
? ? Go有多種安裝方式,可以選擇自己習慣的方式進行,這里介紹三種安裝方式:
? ? ? ? 1)Go源碼安裝
? ? ? ? 2)Go標準包安裝
? ? ? ? 3)第三方工具安裝
? ? 這里主要介紹下Go標準包在CentOS6.5系統中的安裝方式
1.2Go標準包安裝
? ? 1)首先需要具備一個CentOS6.5的操作系統
? ? 2)下載安裝包,此處使用1.8的64位版本go1.8beta1.linux-amd64.tar.gz,將其解壓到/usr/local目錄
?
? ? 3)配置環境變量,在/etc/profile文件末尾設置,配置需要重啟后生效
? ? 4)運行go命令,如果出現usage信息,說明安裝配置成功
1.3Go配置路徑說明
? ? 1)GOROOT
? ? ? ??golang安裝路徑
? ??2)GOPATH
? ? ? ??Go工作環境中常常用到的一個很重要的環境變量(這種設計類似java)。具體用途:go命令常常需要用到的,如go run,go install, go get等。允許設置多個路徑,和各個系統環境多路徑設置一樣,windows用“;”,Linux(mac)用“:”分隔。
? ? 3)GOBIN
? ? ? ??go install編譯存放路徑。不允許設置多個路徑。可以為空。為空時則遵循“約定優于配置”原則,可執行文件放在各自GOPATH目錄的bin文件夾中(前提是:package main的main函數文件不能直接放到GOPATH的src下面。
? ? 4)GOPATH目錄結構
?
? ? ? ? goWorkSpace // (goWorkSpace為GOPATH目錄)
? ? ? ? ? ? -- bin // golang編譯可執行文件存放路徑,可自動生成。
? ? ? ? ? ? -- pkg // golang編譯的.a中間文件存放路徑,可自動生成。
? ? ? ? ? ? -- src // 源碼路徑。按照golang默認約定,go run,go install等命令的當前工作路徑(即在此路徑下執行上述命令)。
?
? ? 5)Go目錄結構1? ? ? ?
? ? ? ? project1 // (project1添加到GOPATH目錄了)
? ? ? ? ? ? -- bin
? ? ? ? ? ? -- pkg
? ? ? ? ? ? -- src
? ? ? ? ? ? ? ? -- models // package
? ? ? ? ? ? ? ? -- controllers // package
? ? ? ? ? ? ? ? -- main.go // package main[注意,本文所有main.go均指包main的入口函數main所在文件]
? ? 6)Go目錄結構2
? ? ? ? goWorkSpace // goWorkSpace為GOPATH目錄
? ? ? ? ? ? -- bin
? ? ? ? ? ? ? ? -- myApp1 // 編譯生成
? ? ? ? ? ? ? ? -- myApp2 // 編譯生成
? ? ? ? ? ? ? ? -- myApp3 // 編譯生成
? ? ? ? ? ??-- pkg
? ? ? ? ? ??-- src
? ? ? ? ? ? ? ??-- common 1
? ? ? ? ? ? ? ??-- common 2
? ? ? ? ? ? ? ??-- common utils ...
? ? ? ? ? ? ? ??-- myApp1 // project1
? ? ? ? ? ? ? ? ? ? -- models
? ? ? ? ? ? ? ? ? ??-- controllers
? ? ? ? ? ? ? ? ? ??-- others
? ? ? ? ? ? ? ? ? ??-- main.go
? ? ? ? ? ? ? ??-- myApp2 // project2
? ? ? ? ? ? ? ? ? ??-- models
? ? ? ? ? ? ? ? ? ??-- controllers
? ? ? ? ? ? ? ? ? ??-- others
? ? ? ? ? ? ? ? ? ??-- main.go
? ? ? ? ? ? ? ??-- myApp3 // project3
? ? ? ? ? ? ? ? ? ??-- models
? ? ? ? ? ? ? ? ? ??-- controllers
? ? ? ? ? ? ? ? ? ??-- others
? ? ? ? ? ? ? ? ? ??-- main.go
? ? 7)Go目錄結構3? ??
? ? ? ? dir
? ? ? ? ? ? -- goWorkSpace1 // 主要是為了區分自己的鼓搗的一些東西和工作上的項目
? ? ? ? ? ??-- goWorkSpace2
? ? ? ? ? ? ? ? -- bin
? ? ? ? ? ? ? ??-- pkg
? ? ? ? ? ? ? ??-- src
? ? ? ? ? ? ? ? ? ? -- myApp1
? ? ? ? ? ? ? ? ? ? ? ? -- .git
? ? ? ? ? ? ? ? ? ? ? ??-- models
? ? ? ? ? ? ? ? ? ? ? ??-- controllers
? ? ? ? ? ? ? ? ? ? ? ??-- main.go
? ? ? ? ? ? ? ? ? ? -- myApp2
? ? ? ? ? ? ? ? ? ? ? ??-- .git
? ? ? ? ? ? ? ? ? ? ? ??-- models
? ? ? ? ? ? ? ? ? ? ? ??-- controllers
? ? ? ? ? ? ? ? ? ? ? ??-- main.go
? ? ? ? ? ? ? ? ? ? -- myApp3
? ? ? ? ? ? ? ? ? ? ? ??-- .git
? ? ? ? ? ? ? ? ? ? ? ??-- models
? ? ? ? ? ? ? ? ? ? ? ??-- controllers
? ? ? ? ? ? ? ? ? ? ? ??-- main.go
2.Go開發工具
2.1LiteIDE
2.1.1安裝git
? ? 為了通過git獲取相關的工具包(gocode),需要連接網絡安裝,yum install git,安裝完成后,可以通過git --version查看到版本號說明已經安裝成功
2.1.2安裝gocode(如果LiteIDE包含該工具,就不需要安裝)
? ? gocode是Go編程語言的自動完成守護進程,下載gocode,go get github.com/nsf/gocode,安裝gocode,go install?github.com/nsf/gocode,安裝完成后可以在GOBIN目錄下看到gocode執行程序
2.1.3下載和解壓LiteIDE
? ? 在解壓后的bin目錄下,可以看到相關的工具
2.1.4設置編輯環境
? ? 1)工具欄中的環境配置中選擇linux64
?
? ? 2)在查看--選項--LiteEnv中雙擊編輯linux64.env,將其中的GOROOT進行修改和保存
? ? 3)Go語言的工具鏈使用GOPATH設置,是Go語言開發的項目路徑列表,在命令行中輸入(在LiteIDE中也可以Ctrl+,直接輸入)go help gopath快速查看GOPATH文檔。在LiteIDE中可以方便的查看和設置GOPATH。通過菜單-查看-GOPATH設置,可以查看系統中已存在的GOPATH列表, 同時可根據需要添加項目目錄到自定義GOPATH列表中。
2.1.5使用體驗
? ? 1)新建項目,選擇上一步添加的GOPATH,模板為Go1 Command Project
?
? ? 2)編輯源代碼,添加幾行代碼,包括變量聲明、初始化及賦值,用來驗證調試是否生效
?
? ? 3)設置編譯選項及編譯,編譯->編譯配置,設置編譯參數。在BUILDARGS添加-gcflags "-N -l",目的是去掉編譯優化,方便調試。
? ? 4)Ctrl+B構建項目
? ? 5)調試程序,按F5啟動調試,程序在main函數處停止,通過F10單步調試
2.2 Vim
2.2.1安裝Vim
? ? 如果安裝的操作系統中有Vim,可以跳過此環節,如果沒有可以通過以下命令安裝
? ? ?yum install vim*
? ? ?會看到vim-enhanced這個包,然后運行yum install vim-enhanced ?
2.2.2安裝git
? ? 可以參考前面的安裝方法
2.2.3安裝Vundle.vim
? ??Vim-go是當前使用最為廣泛的用于搭建Golang開發環境的vim插件,這里我同樣使用vim-go作為核心和基礎進行環境搭建的。vim-go利 用開源Vim插件管理器安裝,gmarik/Vundle.vim是目前被推薦次數更多的Vim插件管理器,超過了pathogen。這里我們 就用vundle來作為Vim的插件管理工具。
? ? Vundle.vim的安裝步驟如下:? ?
? ? mkdir ~/.vim/bundle?
? ??git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim(根據網絡狀態速度不一樣,如果失敗可以多試幾次)
? ? 找到vimrc,可以通過vim中輸入”:version“命令查看到vimrc位置,在文件頂部添加有關Vundle.vim的配置:
? ? set nocompatible " be iMproved, required
? ? filetype off " required
? ? " set the runtime path to include Vundle and initialize
? ? set rtp+=~/.vim/bundle/Vundle.vim
? ? call vundle#begin()
? ? " let Vundle manage Vundle, required
? ? Plugin 'gmarik/Vundle.vim'
? ? " All of your Plugins must be added before the following line
? ? call vundle#end() " required
? ? filetype plugin indent on " required
2.2.4安裝Vim-go
? ? 編輯vimrc,在vundle#begin和vundle#end間增加一行:
? ? Plugin 'fatih/vim-go'
? ? 在Vim內執行PluginInstall? ??
? ? 編輯~/.vimrc,在vundle#begin和vundle#end間增加一行:
? ? Plugin 'fatih/vim-go'Vundle.vim會在左側打開一個Vundle Installer Preview子窗口,窗口下方會提示:“Processing 'fatih/vim-go'”,待安裝完畢后,提示信息變 成“Done!”。又是網絡不行的話會失敗,重試多次會成功
? ? 這時,我們可以看到.vim/bundle下多了一個vim-go文件夾:
? ? $ ls .vim/bundle/
? ? vim-go/ ? ? Vundle.vim/
2.2.5安裝go.tools Binaries
? ??vim-go安裝說明中提到所有必要的binary需要先安裝好,比如gocode、godef、goimports等。?
? ? 通過:GoInstallBinaries,這些vim-go依賴的二進制工具將會自動被下載,并被安裝到$GOBIN下或$GOPATH/bin下。(這個工具需要依賴git或hg,需要提前安裝到你的OS中。)
?
? ? :GoInstallBinaries的執行是交互式的,你需要回車確認:
? ??不過這些代碼多在code.google.com上托管,因此由于眾所周知的原因,vim-go的自動安裝很可能以失敗告終,這樣就需要你根據上 面日志中提到的各個工具的源碼地址逐一去下載并本地安裝。無法搭梯子的,可以通過http://gopm.io 下載相關包。
?
2.2.6其他插件的安裝
? ? ?可以參考http://tonybai.com/2014/11/07/golang-development-environment-for-vim/中的安裝方法
2.3eclipse
2.3.1安裝eclipse
? ? 安裝前需要先安裝jdk,并配置環境變量
?
? ? 安裝eclipse,直接解壓到指定目錄,這里使用/usr/local
2.3.2 安裝goclipse和CDT
? ??安裝方式:使用eclipse的軟件升級功能完成,打開Eclipse,“help”->"install new softwear ",隨后點“add”按鈕,在“location”里面輸入“http://goclipse.github.io/releases/”后,點“OK”按鈕,隨后操作就和升級其它軟件一樣了,這個插件安裝完畢后,我們就可以在Eclipse的“window”->"preferences"的左側看到“go”的項目了,這說明我們已經成功按照了goClipse和CDT!
?
2.3.3配置goclipse和tools
? ? 這里的tools是我本地安裝好工具所在目錄
2.3.4創建項目和調試
? ? 項目屬性:
? ? 調試效果
?