GO是一个开源项目,由Google大神发明的,他主要是用于应用程序级开放,可以编译成机器码,和C++一样不需要.NET或JAVA那样的运行框架,因此是个不错的编程语言。更何况发明者都是高手中的高手,而且Google也开始使用这个语言来开发他们自己的项目了。GO于2009年开始到现在还是个年轻的编程语言,以前一直从事.NET开发一直没有注意到这个语言,从语法等等上看他有很多比其他语言更优越的地方,希望Google可以将它打造一个Google级别的编程语言。

由于笔者接触很晚,而且年轻的语言在不同版本中也会有所改动,即使是C++这样的语言,最近几年变动也是相当的大的。本文主要是介绍一下GO编程语言,以及我们应该如何开始我们的编程生涯,最终的目的是使用他来开发游戏服务端。

首先介绍一下GO语言的官方网站:http://golang.org,安装可以到该网站上去下载相对应的操作系统的GO编译器,标准库。笔者尝试了Ubuntu12.04和Windows8下不同编程环境的安装和配置。

1.Windows环境配置:

在Windows下直接下载个MSI安装包,安装后可以使用了,笔者使用IntellJ idea来作为开发工具,听说在Java世界里这是一款神器,当然在VS开发很多人都用过Resharper插件吧,就是该公司的。笔者使用免费版本的,因为正在学习当中,慢慢摸索,如果大家有比较好的可以推荐一下。

安装完IntellJ idea后需要激活GO插件,操作很简单看一下就知道了。

2.UBUNTU下环境配置:

笔者很少使用非Windows系统,所以可能对他们有点不熟悉,不过安装下软件还是可以的。本来想干脆把系统缓存UBUNTU,不过语言搞了几天老感觉那个网速非常不爽,所以还是用回Windows方便,而且很大一部分都在使用Windows,如果以后有需要估计会使用他。

安装GO很简单,在有apt-get情况下,主要如果网速不行,等待很郁闷,特别是我想把GO源码hg到我的电脑上,一直也没成功过,更新提供还老是有一个链接不上,估计我们的墙太厚了。安装GO使用sudo apt-get install golang命令就可以了,然后配置一下环境变量:

export GOROOT=$HOME/go
export GOARCH=amd64
export GOOS=linux
export PATH=.:$PATH:$GOBIN

开发可以使用IDE也可以使用VIM,不过听说那个神器很多大神都在用,安装一下gocode就可以有提示功能,因为IntellJ idea在Ubuntu上一直没有安装成功,所以以后的文章中将在Windows进行开发。

已经一年多没有更新博客了,这几年都在研究和开发ASP.NET MVC,通过微软不断升级,感觉学的有点没意思了,而且公司的硬件也跟不上,即是使用最新版本开发出来了,也很难进行商业使用。所以笔者才有这种新想法,这一系列能够写多久还未知,阿门!!  

[GO编程]GO编程环境的更多相关文章

  1. Atitit.可视化编程jbpm6 的环境and 使用总结...

    Atitit.可视化编程jbpm6 的环境and 使用总结... 1. Jbpm的意义 1 2. Jbpm6环境配置 2 2.1. Down 2 2.2. Install eclipse jbpm p ...

  2. h5 录音 自动生成proto Js语句 UglifyJS-- 对你的js做了什么 【原码笔记】-- protobuf.js 与 Long.js 【微信开发】-- 发送模板消息 能编程与会编程 vue2入坑随记(二) -- 自定义动态组件 微信上传图片

    得益于前辈的分享,做了一个h5录音的demo.效果图如下: 点击开始录音会先弹出确认框: 首次确认允许后,再次录音不需要再确认,但如果用户点击禁止,则无法录音: 点击发送 将录音内容发送到对话框中.点 ...

  3. 少儿编程|Scratch编程教程系列合集,总有一款适合你

    如果觉得资源不错,友情转发,贵在分享!!! 少儿编程Scratch: 少儿编程Scratch第一讲:Scratch完美的初体验少儿编程Scratch第二讲:奇妙的接球小游戏少儿编程Scratch第三讲 ...

  4. PAIP.并发编程 多核编程 线程池 ExecutorService的判断线程结束

    PAIP.并发编程 多核编程 线程池 ExecutorService的判断线程结束 ExecutorService并没有提供什么 isDone()或者isComplete()之类的方法. 作者Atti ...

  5. 10Spring_AOP编程(传统编程)

    注意我写这篇文章的思路,要想做切面编程,包含两个部分,通知和切点,通知是你要做哪些增强,切点是指你要拦截哪些方法.先介绍通知的定义再去介绍切点的定义.这篇文章我取名叫做Spring_AOP编程(传统编 ...

  6. Socket网络编程-UDP编程

    Socket网络编程-UDP编程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.UDP编程概述 1>.UDP服务端编程流程 创建socket对象.socket.SOCK_ ...

  7. Socket网络编程-TCP编程

    Socket网络编程-TCP编程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.socket介绍 1>.TCP/IP协议 2>.跨网络的主机间通讯 在建立通信连接的 ...

  8. C# 并发编程 (异步编程与多线程)

    并发:同时做多件事情 多线程:并发的一种形式,它采用多个线程来执行程序. 并行处理:把正在执行的大量的任务分割成小块,分配给多个同时运行的线程.并行处理是多线程的一种,而多线程是并发的一种. 异步编程 ...

  9. 3D游戏编程大师技巧──环境搭建

    刚开微博,想借助这个平台与大家交流,写下自己的学习记录,希望得到大家的批评指正. 好了,进入主题.这段时间对游戏编程很感兴趣,于是在网友的推荐下开始学习<3D游戏编程大师技巧>这本书.今天 ...

随机推荐

  1. 统计学习方法笔记 Logistic regression

    logistic distribution 设X是连续随机变量,X服从逻辑斯谛分布是指X具有下列分布函数和密度函数: 式中,μ为位置参数,γ>0为形状参数. 密度函数是脉冲函数 分布函数是一条S ...

  2. 咏南中间件+开发框架支持最新的DELPHI XE10.1(BERLIN) UPDATE1

    咏南中间件+开发框架支持最新的DELPHI XE10.1(BERLIN) UPDATE1 购买提供:中间件源码,价格十分优惠!有意者请向本人索取演示程序! 附带福利(赠送): CS开发框架源码BS开发 ...

  3. jquery中html()、text()、val()的区别与使用

    .html()用为读取和修改元素的HTML标签 .text()用来读取或修改元素的纯文本内容 .val()用来读取或修改表单元素的value值. .html(),.text(),.val()三种方法都 ...

  4. MySQL下划线特殊字符(Like 语句)

    最近用了MySQL+ibatis 做项目 问题描述: 在SQL里 用到了 a.name like ##%searchName%## searchName=test_1 发现出来的结果: test_1, ...

  5. java 开发常用的Linux命令

    1.查找文件 find / -name filename.txt 根据名称查找/目录下的filename.txt文件. find . -name "*.xml" 递归查找所有的xm ...

  6. 线状DP(石子归并)

    题意:有N堆石子,现要将石子有序的合并成一堆,规定如下:每次只能移动相邻的2堆石子合并,合并花费为新合成的一堆石子的数量.求将这N堆石子合并成一堆的总花费最小(或最大). dp[i][j]为从i到j的 ...

  7. PHP ftp使用

    本文章来总结几个利用php中的ftp功能来实现通过FTP上传文件,有需要学习的朋友可参考参考.ftp_get() 函数从 FTP 服务器上下载一个文件.若成功则返回 true,失败则返回 false. ...

  8. JS初级-作用域

    作用域:域:空间.范围.区域--作用:读.写    script        全局变量.全局函数        自上而下        函数        由里到外        {}    浏览器 ...

  9. 写在Python前

    Python是用C编写的一种解释型语言,和shell一样,变量可以直接使用,而且就像C中的宏替换,但是Python同样支持进行底层的调用,可以很容易的和各种语言进行融合,俗称"胶水语言&qu ...

  10. 【Android开发】 第一课 环境搭建教程

    Windows 开发环境部署: Android Studio 中文社区:http://www.android-studio.org/ 本教程将分为五个步骤来完成Android开发环境的部署. 第一步: ...