Go语言学习笔记(一) : 搭建Windows下的Go开发环境
最近突然对Go语言产生了兴趣,主要是因为在使用python的时候遇到了一些不爽的问题,然后发现了Go。Go是Google出的一个动态语言,语法和C++接近,性能也非常的好,而且还支持编译成exe发布,并且不依赖任何虚拟机(其实是打包在exe里面了),这种好语言怎么能够错过?所以便一时兴起,开始学习了起来。由于本人还处于异常小白的阶段,所以文章中可能不免有些错误,欢迎大家各种指正。
安装Go
前往Go语言的官方网站:http://golang.org/, 下载对应平台的安装包。如果是x86的系统可以就下载i386的,如果是x64的系统,那么就安装amd64的就可以了。另外Go语言在Windows下 的的安装包有两种:msi和zip的。zip的是免安装的,解压在配置一些环境变量之后就可以使用,msi的则是安装包版本的,安装的时候会设置好对应的 环境变量。为了方便,我就下了x64上的msi安装包:go1.1.2.windows-amd64.msi。下好安装包后,安装过程就很简单了,下一步 到底就好了。 虽然msi会自动配置一些环境变量,但是本人在安装完之后还是遇到了部分环境变量丢失的情况,所以在安装完Go之后,我们最后还是检查一些所有的环境变量 是否正常。主要的环境变量有以下几个:
- GOROOT:Go的安装目录
- GOPATH:用于存放Go语言Package的目录,这个目录不能在Go的安装目录中
- GOBIN:Go二进制文件存放目录,写成%GOROOT%\bin就好
- GOOS:操作系统
- GOARCH:指定系统环境,i386表示x86,amd64表示x64
- PATH:需要将%GOBIN%加在PATH变量的最后,方便在命令行下运行Go
- 我们还可以使用go env来查看所有其他的环境变量的定义

当环境变量都配置正常之后,Go就已经安装完毕了。现在打开命令行,运行go,大家应该就可以看到如下的提示了。
Hello Go!
现在就让我们一起来Hello World吧!
|
1
2
3
4
5
|
package mainimport "fmt"func main() { fmt.Println("Hello, World!")} |
将上面的程序保存成hello.go,然后在命令行中执行:
|
1
|
go run hello.go |
Tada!结果就出来了!
![]()
而且Go语言还可以将go程序直接编译成exe,再发布出去,相比python更为方便(需要使用py2exe),只需要在命令行中运行:
|
1
|
go build hello.go |
就可以看到并执行编译好的exe了。
![]()
另外,我们还可以看到,这个hello.exe居然有1.5M之多,这个应该是因为go把整个虚拟机都打包到了exe里面的缘故,从exe的依赖上来看,他对go已经完全没有依赖了,只有几个系统的dll了。
![]()
IDE
关于IDE每个人的喜好都不同,你可以使用较为独立的开发环境LiteIDE,也可以是VS或者Eclipse,甚至是notepad++,当然更不用说vim和emacs了。在这里,介绍两种比较常见的IDE:LiteIDE和Eclipse。
LiteIDE
LiteIDE算是集成的非常好Go IDE了,编译,调试,代码补全,功能可谓应有尽有。而且免费,开源,基于QT所以还跨平台。其安装异常简单,从官网(https://code.google.com/p/liteide/)上下载对应平台的安装包,然后解压到指定目录即可。
![]()
Eclipse + GoClipse
Eclipse是非常著名的IDE了,所以具体要怎么安装,我就不太多说了,简单介绍一下过程。
- 在http://java.com/上下载并装好最新的JRE
- 从http://www.eclipse.org/上下载最新的Eclipse,解压即可
刚下载下来的Eclipse是不支持Go的,为了让其支持Go语言,我们需要安装一个插件:GoClipse。
项目地址:https://code.google.com/p/goclipse/
安装过程十分简单,只需要在Eclipse中添加一个源:http://goclipse.googlecode.com/svn/trunk/goclipse-update-site/,然后选中GoClipse,安装即可,如下图。
![]()
安装完之后,重启Eclipse,我们便可以使用Eclipse来编写Go语言的程序了。
GoCode
使用GoClipse写代码的时候,我们会发现其没有代码补全,为了增加代码补全,我们需要安装gocode。LiteIDE就不需要了,因为其已经内置了gocode。
GoCode是host在github上,使用go写的用来做go语言代码补全的工程,项目地址是:https://github.com/nsf/gocode,里面有非常详细的安装方法。由于go内置了和包管理器类似的工具,所以安装方式也就很简单了。
- 安装git:由于安装过程中由于需要用到git,所以需要先安装msysgit或者cygwin,如果你觉得这样很麻烦,有一个更为简单的方法:安装github for windows:http://windows.github.com/。
- 启动git shell,并运行:go get -u -ldflags -H=windowsgui github.com/nsf/gocode。
- 现在到%GOBIN%目录下看一下,就会发现有gocode.exe了。
接下来就需要配置一下Eclipse。打开Windows->Preferences,找到Go->Gocode标签,设置好gocode.exe的路径即可。
![]()
完成,现在好好写代码吧。
![]()
Go语言学习笔记(一) : 搭建Windows下的Go开发环境的更多相关文章
- 搭建windows下的odoo开发环境
odoo运行环境的必须要要求是 python环境 postgreSQL数据 数据库可以安装在别的机器上,比如服务器:当然对于开发环境,通常,数据库与代码调试安装在同一台机器上. 首先安装 postgr ...
- Android学习笔记03-搭建Win8下的Android开发环境
一 配置环境变量 (绿色文字标出代码,路径换为自己的SDK路径) ANDROID_HOME = C:\software\adt-bundle-windows-x86_64-20140702\sdk ...
- 搭建Windows下Java Web开发环境
概要 1.SSH开发相关软件及开发包下载2.软件安装及相关设置3.最简单的Web程序 1.软件下载 在D盘建一个目录JavaTools,用来存放下载的软件和开发包.(本教程将使用D盘,你也可以使用 ...
- windows下vue.js开发环境搭建教程
这篇文章主要为大家详细介绍了windows下vue.js开发环境搭建教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 最近,vue.js越来越火.在这样的大浪潮下,我也开始进入vue的学习行列中 ...
- Windows下C,C++开发环境搭建指南
Windows下C,C++开发环境搭建指南 前情提要 基于近一段时间很多网友发邮件反馈,说一些项目编译出现问题,诸如此类的情况. 就觉得很有必要写一篇C,C++开发环境的小指南,统一回复. 1.君欲善 ...
- [转]MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)
MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题) 网上有一篇shangdong_chu网友写的文章介绍如何在Eclipse上配置M ...
- 转:Windows下的PHP开发环境搭建——PHP线程安全与非线程安全、Apache版本选择,及详解五种运行模式。
原文来自于:http://www.ituring.com.cn/article/128439 Windows下的PHP开发环境搭建——PHP线程安全与非线程安全.Apache版本选择,及详解五种运行模 ...
- Windows下的PHP开发环境搭建——PHP线程安全与非线程安全、Apache版本选择,及详解五种运行模式。
今天为在Windows下建立PHP开发环境,在考虑下载何种PHP版本时,遭遇一些让我困惑的情况,为了解决这些困惑,不出意料地牵扯出更多让我困惑的问题. 为了将这些困惑一网打尽,我花了一下午加一晚上的时 ...
- windows下python web开发环境的搭建
windows下python web开发环境: python2.7,django1.5.1,eclipse4.3.2,pydev3.4.1 一. python环境安装 https://www.pyth ...
随机推荐
- 借助Q.js学习javascript异步编程。
金字塔式 //add1 function step1(n, callback) { setTimeout(function(){ callback.call(null, n + 1); }, 100) ...
- web字体格式转换
@font-face { font-family: 'emotion'; src: url('emotion.eot'); /* IE9*/ src: url('emotion.eot?#iefix' ...
- 尽量使用ToUpper比较,避免使用ToLower
在编码时尽量使用ToUpper比较,避免使用ToLower,因为微软对ToUpper进行了优化,以下为测试结果: public void TestToLower() { Stopwatch watch ...
- Fiddle的应用
在Composer中输入测试的网址: 可能会发生一下情况,这意味着需要在左侧面板中选择一项,来看回应: 选择一个请求后,选择TextView,看原生的回应(Response)内容
- BTREE与HASH的区别
对于 B-tree 和 hash 数据结构的理解能够有助于预测不同存储引擎下使用不同索引的查询性能的差异,尤其是那些允许你选择 B-tree 或者 hash 索引的内存存储引擎. B-Tree 索引的 ...
- 关于 self 和 super 在oc 中 的疑惑 与 分析
关于 self 和 super 在oc 中 的疑惑 与 分析 面试一定都是很注重 基础的,不管高级还是初级. 虽然基础好跟基础不好都可以写 代码,网上那么多资料. 区分高低也就是研究的深度和广度 ...
- 设计模式——如何避免在OO设计中违反依赖倒置原则
1 变量不可以包含具体类的引用.一旦new,就对具体类产生依赖,用工厂模式来避开. 2 类不要派生至具体类.用派生抽象类避开. 3 不要覆盖基类已经实现的方法.基类中已实现的方法应该由所有子类共享.
- websphere安装和mvn dependency:copy-dependencies
http://www.blogjava.net/paulwong/archive/2009/09/19/295657.html http://ljhzzyx.blog.163.com/blog/sta ...
- 宏中"#"和"##"的用法
一.一般用法 我们使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起. 用法: #include<cstdio> #include<climits> using nam ...
- Java中的移位操作符
记住所有的移动位数,针对的都是补码来讲的,所以要先将十进制整数转换成补码后,然后再来进行移位操作 移位操作 还要注意类型的约束条件,例如int,移动范围是0-31位,所以看补码只能看最后五位,这才是有 ...