最近突然对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 main
import "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了,所以具体要怎么安装,我就不太多说了,简单介绍一下过程。

  1. http://java.com/上下载并装好最新的JRE
  2. 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内置了和包管理器类似的工具,所以安装方式也就很简单了。

  1. 安装git:由于安装过程中由于需要用到git,所以需要先安装msysgit或者cygwin,如果你觉得这样很麻烦,有一个更为简单的方法:安装github for windows:http://windows.github.com/
  2. 启动git shell,并运行:go get -u -ldflags -H=windowsgui github.com/nsf/gocode。
  3. 现在到%GOBIN%目录下看一下,就会发现有gocode.exe了。

接下来就需要配置一下Eclipse。打开Windows->Preferences,找到Go->Gocode标签,设置好gocode.exe的路径即可。

完成,现在好好写代码吧。

Go语言学习笔记(一) : 搭建Windows下的Go开发环境的更多相关文章

  1. 搭建windows下的odoo开发环境

    odoo运行环境的必须要要求是 python环境 postgreSQL数据 数据库可以安装在别的机器上,比如服务器:当然对于开发环境,通常,数据库与代码调试安装在同一台机器上. 首先安装 postgr ...

  2. Android学习笔记03-搭建Win8下的Android开发环境

    一  配置环境变量 (绿色文字标出代码,路径换为自己的SDK路径) ANDROID_HOME =  C:\software\adt-bundle-windows-x86_64-20140702\sdk ...

  3. 搭建Windows下Java Web开发环境

      概要 1.SSH开发相关软件及开发包下载2.软件安装及相关设置3.最简单的Web程序 1.软件下载 在D盘建一个目录JavaTools,用来存放下载的软件和开发包.(本教程将使用D盘,你也可以使用 ...

  4. windows下vue.js开发环境搭建教程

    这篇文章主要为大家详细介绍了windows下vue.js开发环境搭建教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 最近,vue.js越来越火.在这样的大浪潮下,我也开始进入vue的学习行列中 ...

  5. Windows下C,C++开发环境搭建指南

    Windows下C,C++开发环境搭建指南 前情提要 基于近一段时间很多网友发邮件反馈,说一些项目编译出现问题,诸如此类的情况. 就觉得很有必要写一篇C,C++开发环境的小指南,统一回复. 1.君欲善 ...

  6. [转]MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)

    MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)   网上有一篇shangdong_chu网友写的文章介绍如何在Eclipse上配置M ...

  7. 转:Windows下的PHP开发环境搭建——PHP线程安全与非线程安全、Apache版本选择,及详解五种运行模式。

    原文来自于:http://www.ituring.com.cn/article/128439 Windows下的PHP开发环境搭建——PHP线程安全与非线程安全.Apache版本选择,及详解五种运行模 ...

  8. Windows下的PHP开发环境搭建——PHP线程安全与非线程安全、Apache版本选择,及详解五种运行模式。

    今天为在Windows下建立PHP开发环境,在考虑下载何种PHP版本时,遭遇一些让我困惑的情况,为了解决这些困惑,不出意料地牵扯出更多让我困惑的问题. 为了将这些困惑一网打尽,我花了一下午加一晚上的时 ...

  9. windows下python web开发环境的搭建

    windows下python web开发环境: python2.7,django1.5.1,eclipse4.3.2,pydev3.4.1 一. python环境安装 https://www.pyth ...

随机推荐

  1. APP被Rejected 的各种原因翻译(转)

    原文:http://www.cnblogs.com/sell/archive/2013/02/16/2913341.html Terms and conditions(法律与条款) 1.1 As a ...

  2. 关于Weblogic 10.3.1集群及调优经历

    一.  集群 ·集群易于管理.灵活的负载平衡.较强的安全机制 ·配置前的规划 操作系统 硬件配置 角色 windows IP: 192.168.1.101:7001 AdminServer windo ...

  3. 原生javascript写的侧栏跟随效果

    浏览网站时经常看到有的网站上,当一个页面很长的时候,设定侧栏内容会跟随滚动条滚动,我们把这种效果叫做“侧栏跟随滚动”.这种特效对提高网站浏览量.文章点击率.广告点击量都有一定效果. 侧栏跟随滚动的实现 ...

  4. Dedecms自定义sql 出现错误Safe Alert: Request Error step 2!

    Dedecms自定义执行sql: SELECT body FROM dede_addonarticle WHERE aid = (select max(aid) fromdede_addonartic ...

  5. 我和CPP的第二次约会

    1.变量之间的运算形式依赖于变量的数据类型,如i = i + j;当 i 和 j 是整型或者浮点型,则代表两个数的相加,如果是第一章所说的Sales_item类型,那么就是这两个变量的成分相加(如果书 ...

  6. jQuery.dialog

    本篇文章主要是对JQUERY中dialog的用法进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助 今天用到了客户端的对话框,把 jQuery UI 中的对话框学习了一下. 准备 jQ ...

  7. Ajax页面逻辑

    逻辑上模拟整个与服务器通信的过程.在没有真正与服务器通信的时候,如何写这样的ajax请求. 先根据页面结构创建一个静态数据(JSON) var arrival_address_data={" ...

  8. 辉哥用的这种方法实现ZABBIX的MYSQL批量监控

    不错的.集中和分布式,总是一对要解决的问题.应该可以再想更好的策略~~ 一.方案需求及思路 因跑MySQL服务的服务器比较多,并且每台服务器可能会运行多个不同端口的数据库,如果单独手动一台一台去修改a ...

  9. TWinControl的刷新过程(5个非虚函数,4个覆盖函数,1个消息函数,默认没有双缓冲,注意区分是TCustomControl还是Windows原生封装控件,执行流程不一样)

    前提条件:要明白在TWinControl有以下四个函数的存在,注意都是虚函数: procedure Invalidate; override;procedure Update; override;pr ...

  10. 构造函数语义学之Copy Constructor构建操作(1)

    一.Copy Constructor的构建操作 就像 default constructor 一样,如果class没有申明一个 copy constructor,就会隐含的声明或隐含的定义一个.生成的 ...