zoukankan      html  css  js  c++  java
  • Go语言知识积累——特点简介与windows开发环境搭建

    Go语言知识积累——特点简介与windows开发环境搭建

    缘起看到一篇文章,讲述如何将服务器从30台降到2,性能甚至更加优秀。文章中介绍了完成这一出色任务的语言为Go,于是对Go语言产生了兴趣,逐步了解到这还是一门比较新的语言,且潜力很足。所以展开了研究之旅~
    
    
    特点简介:
    1.引入轻量级线程——协程(coroutine),Go语言中叫goroutine。
    2.采用Erlang风格的并发模型,即消息是进程间唯一的通信方式(而非共享内存)。两个goroutine之间通信通过channel(通道)进行。
    3.对代码风格进行了强制统一,比如public变量必须以大写字母开头,private变量必须以小写字母开头,从而省略了这两个关键字。{}中{的书写不能另起一行等。
    4.defer关键字,不管程序是否异常,均在退出时执行的代码。避免了大量try、catch语句。
    5.函数允许返回多个值,且最后一个值问error类型,用于在错误的情况下返回详细信息。
    6.反对(不提供)函数和操作符的重载,不提供继承、虚函数、虚函数重载。但是提供组合,也达到继承的目的。
    7.没有构造函数和析构函数 ,提供接口,与其他语言最大的区别在于接口是非侵入性的。即实现类无需从接口派生
    8.支持匿名函数与闭包。
    ...继续研究中


    Windows下,开发环境的搭建:

    IDE有两种选择,一个是国人开发的liteIDE,一个是给eclipse下载goclipse插件。但是由于未知原因,我没有调好eclipse中基于gocode的Go语言自动补齐功能。所以我选择了liteIDE,下面介绍如何搭建liteIDE环境,eclipse的方法大家自己探索吧。欢迎分享经验。

    1.下载Go语言安装包,进入下面的链接,选择适合自己的安装包进行下载(我用的go1.0.3.windows-386.msi),然后安装即可,记录下安装后的根目录以备配置使用。
    下载地址:https://code.google.com/p/go/downloads/list
    2.下载liteIDE,进入下面的链接,选择适合自己的安装包(我用的liteidex17.windows-webkit.7z),下载完成后解压到任意目录,然后进入根目录下的bin文件夹,双击liteide.exe即可打开软件。
    下载地址:https://code.google.com/p/golangide/downloads/list
    软件界面如下:

    3.配置liteIDE的信息,第一次打开此IDE时,需要配置相关信息,才能正确使用。点击【查看】→【选项】,打开了选项页面后在列表中选择LiteEnv,如图所示:

    4.针对你的系统,修改对应的文件。我是32位系统,所以需要修改win32-user.env和win32.env。修改内容如下:
    #nativecompilerwindows386
    
    
    GOROOT=E:\go
    GOBIN=E:\go\bin
    GOARCH=386
    GOOS=windows
    CGO_ENABLED=1
    
    
    PATH=%GOBIN%;%GOROOT%\bin;%PATH%
    
    
    LITEIDE_GDB=gdb
    LITEIDE_MAKE=mingw32-make
    LITEIDE_TERM=%COMSPEC%
    LITEIDE_TERMARGS=
    LITEIDE_EXEC=%COMSPEC%
    LITEIDE_EXECOPT=/C
    其中GOROOT和GOBIN都是根据之前Go语言安装时选定的目录进行配置的。我安装Go语言时选择的路径是E:\Go
    5.配置GOPATH,点击【查看】→【设置GOPATH】,在打开的窗口中的自定义GOPATH处点击浏览,选中你以后想存放Go工程的文件夹,添加后选择ok。如图所示:

    6.关闭IDE,重新打开后,在点击【查看】→【工具窗口】→【Package浏览】,打开了Package浏览后,如果能看到Go的目录,则可以使用了。


    怀着对先人的尊敬,我们来个HelloWorld之旅~
    选择起始页的新建,在模板处选择Go1 Command Project,起个名字,点击ok。则自动生成了HelloWorld程序~



    点击编辑窗口上部的BR按钮,即可运行程序,并在编译输出窗口得到输出。


    恩,现在就探索到这个阶段。在Eclipse中装goclipse插件遇到种种问题,虽然最后成功安装,但是没有自动补齐功能。所以放弃了~
    附一张liteIDE的自动补齐功能截图:


    欢迎各路Go大神赐教~
    PS: 我存在过,我遇见过,我失败过。 有些路,明明有坑却从没人放警示牌。有些事,明明是错的却没人去管。有些话,明明应该告诉后来人却没人去说。 既然没人做,那就我来吧。希望我曾经历过的挫折不再重现于后来人。希望传承能够不是只挂在嘴边。希望人模人样的“人”能够真正做人。
     
    标签: Go语言
  • 相关阅读:
    团队项目-smart原则
    团队项目-作业管理系统
    团队模式和团队的开发模式是什么,它们有什么关系?
    软件工作量的估计有哪些方法?
    腾讯qq的发展史
    软件过程与项目管理(第二次作业)
    有学生提到,在大学选课的时候,可以写一个“刷课机”的程序,利用学校选课系统的弱点或漏洞,帮助某些人选到某些课程。或者帮助用户刷购票网站,先买到火车票。这些软件合法么?符合道德规范么?是在“软件工程”的研究范围么?
    mysql中explain的type的解释
    php 中类型转换 numfamat、round函数tips
    python client端收不到server端构造的结构体数据
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3007592.html
Copyright © 2011-2022 走看看