codecamp

Go 开发工具

本节我将介绍几个开发工具,它们都具有自动化提示,自动化fmt功能。因为它们都是跨平台的,所以安装步骤之类的都是通用的。

LiteIDE

LiteIDE是一款专门为Go语言开发的跨平台轻量级集成开发环境(IDE),由visualfc编写。

go get -u github.com/nsf/gocode

gocode默认安装到$GOPATH/bin下面。

  1. 配置Gocode
~ cd $GOPATH/src/github.com/nsf/gocode/vim
~ ./update.bash
~ gocode set propose-builtins true
propose-builtins true
~ gocode set lib-path "/home/border/gocode/pkg/linux_amd64"
lib-path "/home/border/gocode/pkg/linux_amd64"
~ gocode set
propose-builtins true
lib-path "/home/border/gocode/pkg/linux_amd64"
> gocode set里面的两个参数的含意说明:
> 
> propose-builtins:是否自动提示Go的内置函数、类型和常量,默认为false,不提示。
> 
> lib-path:默认情况下,gocode只会搜索**$GOPATH/pkg/$GOOS_$GOARCH** 和**$GOROOT/pkg/$GOOS_$GOARCH**目录下的包,当然这个设置就是可以设置我们额外的lib能访问的路径
  1. 恭喜你,安装完成,你现在可以使用:e main.go体验一下开发Go的乐趣。

更多VIM 设定, 可参考链接

Emacs

Emacs传说中的神器,她不仅仅是一个编辑器,它是一个整合环境,或可称它为集成开发环境,这些功能如让使用者置身于全功能的操作系统中。

Eclipse

  1. 下载goclipse插件
  2. http://code.google.com/p/goclipse/wiki/InstallationInstructions
  3. 下载gocode,用于go的代码补全提示
  4. gocode的github地址:
  5. https://github.com/nsf/gocode
    在windows下要安装git,通常用[msysgit](https://code.google.com/p/msysgit/) 再在cmd下安装:
    go get -u github.com/nsf/gocode
    也可以下载代码,直接用go build来编译,会生成gocode.exe
  6. 下载MinGW并按要求装好

  7. 配置插件

    Windows->Reference->Go

    (1).配置Go的编译器


        (2).配置Gocode(可选,代码补全),设置Gocode路径为之前生成的gocode.exe文件


    (3).配置GDB(可选,做调试用),设置GDB路径为MingW安装目录下的gdb.exe文件


6.测试

测试是否成功

新建一个go工程,再建立一个hello.go。如下图:


调试如下(要在console中用输入命令来调试):


下一步,会要求你输入 go sdk的位置,一般都安装在C:\Go,linux和mac根据自己的安装目录设置,选中目录确定,就可以了。


Go 命令
Go 环境配置小结
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }