在开始环境搭建之前,我们先一起来看看:

Go有什么优势:

  • 不用虚拟机,它可直接编译成机器码,除了glibc外没有其他外部依赖,部署十分方便,就是扔一个文件就完成了。

  • 天生支持并发,可以充分的利用多核,很容易实现并发。

  • 25个关键字,但是表达能力很强大,几乎支持大多数你在其他语言见过的特性:继承、重载、对象等。

  • 内置强大的工具,Go语言里面内置了很多工具链,最好的应该是gofmt工具,自动化格式化代码,能够让团队review变得更加简单。

  • 跨平台编译,如果你在windows上想生成linux上的可执行文件,只需要一条命令(set GOOS=linux),即可以做到windows系统编译linux的应用。

Go适合做什么

  • 服务器编程,用Go来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等

  • 分布式系统,数据库代理器等

  • 网络编程,这一块目前应用最广,包括Web应用、API应用、下载应用

Go成功的项目

  • nsq:bitly开源的消息队列系统,性能非常高,目前他们每天处理数十亿条的消息

  • docker:基于lxc的一个虚拟打包工具,能够实现PAAS平台的组建

  • packer:用来生成不同平台的镜像文件,例如VM、vbox、AWS等,作者是vagrant的作者

  • skynet:分布式调度框架

  • doozer:分布式同步工具,类似ZooKeeper

  • heka:mazila开源的日志处理系统

  • cbfs:couchbase开源的分布式文件系统

  • tsuru:开源的PAAS平台,和SAE实现的功能一模一样

  • groupcache:memcahe作者写的用于Google下载系统的缓存系统

  • god:类似redis的缓存系统,但是支持分布式和扩展性

如果你觉得Go语言很强大,也想去学习它,那么现在可以跟我一起来学习环境搭建过程。

1、 相关软件准备:

  • Git:一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,分为32和64位安装包。

  • Go:go语言安装包,分为32和64位。

  • liteIde:国人开发的一款简单、开源、跨平台的 Go 语言IDE。

2、 安装go安装包:

1、根据操作系统是32位或64位选择对应的go1.8.3.windows-XXX.msi文件,双击开始安装,一路下一步,即可完成安装。安装到选择目标文件夹时,可以选D盘。

2、配置环境变量。选择计算机 -> 属性 -> 高级系统设置 -> 环境变量,看系统环境变量里是否有GOROOT(默认刚才安装好后GOROOT是设置好了的,即刚才的安装目录)。为了后续工作的方便,这里配置一下GOPATH,在环境变量里新增一个GOPATH系统变量,如下图所示:

最后在Path中在添加上” %GOPATH%bin”(默认go安装包安好,这个也是设置好的)如下图所示:

然后确定就行。

3、在控制台中查看Go语言环境是否安装完成,windows中,用快捷键

win + R,输入cmd,打开命令提示符,输入“go”,出现下图即可:

顺带说一句,Go程序的目录结构是在GOPATH文件夹下的,分为bin, pkg, 和src三个子文件夹 。

  • bin文件夹:Go的每个项目生成的二进制可执行程序。windows下会生成.exe文件,linux下会生成可执行文件。Go的最大特色之一就是可移植性,就是说,当生成一个demo.exe之后,将这个exe文件放在任意一台windows系统上(即使没有安装go安装包),也是可以执行的。这是让PHP,Python等脚本语言望成莫及的。

  • pkg文件夹:第三方库。里面存放你的项目中引用的第三方库(非官方已经提供的库)

  • src文件夹:每个次级文件夹就是代表一个go项目,里面存放源程序。

3、 Go语言开发IDE工具LiteIDE的使用:

解压我们下载好的 liteidex32.1.windows-qt5 ,把liteide文件夹放在你喜欢的位置,找到\LiteIDE\bin路径下的liteide.exe,非常帅气的一个太极图标,双击运行即可。

对于LiteIDE,有一些简单的设置:(以windows10的64位版本为例)

1、如下,选择win64,这个选项决定编译后生成哪个平台的可执行文件。这里选择win64,编译后将生成exe文件。

2、点击如下图标,查看GOROOT的路径是否为Go的安装路径。

3、点击如下图标查看GOPATH,确定系统GOPATH是否为刚才环境变量里设置的GOPATH,点击确定。

然后重启liteIDE即可。

国人大牛Visualfc制作的这个IDE真的很帅气,智能提示、各种调试都有,速度也很快。

4、 Git工具安装:

双击安装我们下载的Git-2.15.1.2-XX-bit.exe,一路下一步安装。安装完成后,鼠标右键可以看到如下图标即可:

5、 Beego框架环境搭建:

Beego这个框架是国人大牛谢孟军写的轻量级应用框架,在他的书《Go Web编程》中就有对这个框架的说明,各种写的好。

项目地址如下:

https://github.com/astaxie/beego

在前面我们安装好了Git,这下要发挥作用了。

1、安装beego

右键点击“Git Bash”,输入go get -u -v github.com/astaxie/beego 如下图:

等一会儿即可。安装完成后,在GOPATH路径下(我这里GOPATH的路径是
D:\SoftwareAndProgram\program\Go\Development)在D:\SoftwareAndProgram\program\Go\Development\pkg\windows_amd64\github.com\和D:\SoftwareAndProgram\program\Go\Development\src\github.com\路径下能看到astaxie文件夹,还有下级beego文件夹。

2、安装bee工具(框架生成工具)

为了方便的生成框架,右键点击“Git Bash”,输入go get -u -v github.com/beego/bee,如下图:

同样也是等一会儿即可。完成后,在D:\SoftwareAndProgram\program\Go\Development\src\github.com\beego路径下能看到bee文件夹。

同时,在GOPATH路径下的src同级的bin中,有“bee.exe”文件。

3、使用bee工具生成框架工程代码

在“开始”中找到“命令提示符”,右键“以管理员身份运行”,先进入到GOPATH的bin路径下,再输入“bee new 工程名”,如下图所示:

在GOPATH的src目录下会生成以刚才的工程名命名的文件夹。这样一个Beego框架的工程就生成成功了。

4、使用LiteIDE打开运行。

LiteIDE的“文件”中找到“打开目录”,找到刚才生成的工程文件夹,如下图:

点击“选择文件夹”,加载整个工程。

清晰的MVC一目了然。Ctrl+R编译并执行。当然你也可以各种设置断点各种调试。

打开浏览器,输入“http://127.0.0.1:8080”就看到了运行的结果

要结束运行,点击LiteIDE上的“编译输出”后面的红色小按钮即可。

本文用到的软件,可以关注公众号后,后台回复:go环境搭建 ,获得。

参考自:http://www.cnblogs.com/iflytek/p/3366282.html

并加以修正。



本公众号免费提供csdn下载服务,海量IT学习资源,如果你准备入IT坑,励志成为优秀的程序猿,那么这些资源很适合你,包括但不限于java、go、python、springcloud、elk、嵌入式 、大数据、面试资料、前端 等资源。同时我们组建了一个技术交流群,里面有很多大佬,会不定时分享技术文章,如果你想来一起学习提高,可以公众号后台回复【2】,免费邀请加技术交流群互相学习提高,会不定期分享编程IT相关资源。


扫码关注,精彩内容第一时间推给你

Go语言及Beego框架环境搭建的更多相关文章

  1. Go语言及Web框架Beego环境无脑搭建

    [原]Go语言及Web框架Beego环境无脑搭建 本文涉及软件均以截至到2013年10月12日的最新版本为准 1. 相关软件准备: 1) go1.2rc1.windows-386.msi,对应32位w ...

  2. Go语言及Web框架Beego环境

    Go语言及Web框架Beego环境无脑搭建 [原]Go语言及Web框架Beego环境无脑搭建 本文涉及软件均以截至到2013年10月12日的最新版本为准 1. 相关软件准备: 1) go1.2rc1. ...

  3. eclipse中SSH三大框架环境搭建<三>

    相关链接: eclipse中SSH三大框架环境搭建<一> eclipse中SSH三大框架环境搭建<二> 引言:通过上两篇文章我们已经可以掌握struts2和spring的环境的 ...

  4. eclipse中SSH三大框架环境搭建<二>

    通过上一篇博客我们可以轻松搭建strtus2的环境,接下来由我来继续介绍spring的环境搭建以及spring注入的简单使用 相关链接:eclipse中SSH三大k框架环境搭建<一> ec ...

  5. eclipse中SSH三大框架环境搭建<一>

    这里先简单介绍一下我用的三大框架版本以及下载地址 相关链接:eclipse中SSH三大框架环境搭建<二> eclipse中SSH三大框架环境搭建<三> struts-2.3.3 ...

  6. 基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建

    基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建 前言 最近做回后台开发,重新抓起以前学过的SSM(Spring+Sp ...

  7. SSM(Spring+SpringMVC+Mybatis)框架环境搭建(整合步骤)(一)

    1. 前言 最近在写毕设过程中,重新梳理了一遍SSM框架,特此记录一下. 附上源码:https://gitee.com/niceyoo/jeenotes-ssm 2. 概述 在写代码之前我们先了解一下 ...

  8. 3/16 Django框架 环境搭建

    3/16 Django框架 环境搭建 环境搭建 Python解释器 Python代码通过Python解释器去执行. 编程语言 机器语言---汇编语言(助记符)---高级语言 解释型语言:解释器将代码一 ...

  9. 【原】Go语言及Web框架Beego环境无脑搭建

    本文涉及软件均以截至到2013年10月12日的最新版本为准 1. 相关软件准备: 1) go1.2rc1.windows-386.msi,对应32位windows系统安装使用 下载地址: https: ...

随机推荐

  1. Redis相关安装TCL

    安装相关命令 wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gzsudo tar -xzvf tcl8.6.1-src.tar. ...

  2. Spring Boot 面试题总结

    1.什么是spring boot 答案:springboot是用来简化spring应用的初始搭建和开发过程,使用特定的配置文件来配置,例如application.properties,简化来maven ...

  3. 连drawable目录都没搞明白就想开发APP?

      我是一个善良的搬运工,关于drawable,来看看这位的博客吧: https://blog.csdn.net/xuaho0907/article/details/72848520   hiahia ...

  4. 【python】requests模块初探(一)

    一.写在前面 Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库.它比 urllib 更加方便,可以节约我们大量的工作,完 ...

  5. [Algorithm] Heap & Priority queue

    这里只是简单的了解,具体内容详见推荐的原链接 注意堆和树的区别 堆就是优先级队列的实现形式 堆排序 排序过程 Ref: 排序算法之堆排序(Heapsort)解析 第一步(构造初始堆): {7, 5, ...

  6. [AWS] S3 Bucket

    云存储服务 2.1 为网站打开属性 属性和权限设置 设置bucket属性,打开功能:Static website hosting(静态网站托管) 设置bucket权限,Permissions ---- ...

  7. [C++] 重载运算符与类型转换(1)

      1.形式:返回值 operator符号(参数列表){}   2.不能被重载的运算符::: 作用域运算符  .*   . 成员访问运算符   ?: 条件运算符:某些运算符(逗号,,取地址&, ...

  8. thinkphp 多条件模糊搜索结果,按照最佳匹配度排序,使用LOCATE函数

    //获取筛选参数 $params = Request()->only(['keywords','brand_id', 'cat_id']); $where = "brand_id = ...

  9. Docker 01 - CentOS 7 中安装 Docker 的详细步骤

    目录 1 初识 Docker 1.1 Docker 原理简介 1.2 Docker 核心概念 2 安装 Docker 2.1 查看系统内核版本 2.2 更新 yum 包 2.3 安装软件包 2.4 向 ...

  10. 如何快速转载CSDN中的博客

    看到一篇<如何快速转载CSDN中的博客>,介绍通过检查元素→复制html来实现快速转载博客的方法.不过,不知道是我没有领会其精神还是其他原因,测试结果为失败.