热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

Go语言知识积累——特点简介与windows开发环境搭建缘起看到一篇文章,讲述如何将服务器从30台降到2,性能甚至更加优秀。文章中介绍了完成这一出色任务的语言为Go,于是对Go语言产生了兴趣,逐步了解

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语言积累
标签: Go语言

推荐阅读
  • 线程能否先以安全方式获取对象,再进行非安全发布? ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • 本文探讨了资源访问的学习路径与方法,旨在帮助学习者更高效地获取和利用各类资源。通过分析不同资源的特点和应用场景,提出了多种实用的学习策略和技术手段,为学习者提供了系统的指导和建议。 ... [详细]
  • Java测试服务器调试指南详细介绍了如何进行远程调试,并深入解析了Java Xdebug参数的使用方法。本文首先概述了Java内置的调试功能,重点介绍了JDB这一类似于GDB的强大调试工具。通过实例演示,读者可以掌握在测试环境中高效调试Java应用程序的技巧,包括配置远程调试环境和优化调试参数,以提高开发效率和代码质量。 ... [详细]
  • 动态壁纸 LiveWallPaper:让您的桌面栩栩如生(第二篇)
    在本文中,我们将继续探讨如何开发动态壁纸 LiveWallPaper,使您的桌面更加生动有趣。作为 2010 年 Google 暑期大学生博客分享大赛 Android 篇的一部分,我们将详细介绍 Ed Burnette 的《Hello, Android》第三版中的相关内容,并分享一些实用的开发技巧和经验。通过本篇文章,您将了解到如何利用 Android SDK 创建引人入胜的动态壁纸,提升用户体验。 ... [详细]
  • 在 CentOS 6.4 上安装 QT5 并启动 Qt Creator 时,可能会遇到缺少 GLIBCXX_3.4.15 的问题。这是由于系统中的 libstdc++.so.6 版本过低。本文将详细介绍如何通过更新 GCC 版本来解决这一问题。 ... [详细]
  • 应用链时代,详解 Avalanche 与 Cosmos 的差异 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • feat: Enhances Jest Testing Capabilities with Snapshot Support ... [详细]
  • 深入解析Java虚拟机的内存分区与管理机制
    Java虚拟机的内存分区与管理机制复杂且精细。其中,某些内存区域在虚拟机启动时即创建并持续存在,而另一些则随用户线程的生命周期动态创建和销毁。例如,每个线程都拥有一个独立的程序计数器,确保线程切换后能够准确恢复到之前的执行位置。这种设计不仅提高了多线程环境下的执行效率,还增强了系统的稳定性和可靠性。 ... [详细]
  • 基于JSP和SSM框架的超市收银系统毕业设计论文及源代码分析
    本研究基于JSP和SSM框架开发了一套超市收银系统,旨在提升超市收银效率和管理便捷性。系统运行环境包括JDK 1.8、Tomcat 7.0、MySQL数据库以及HBuilderX(也可使用WebStorm)作为前端开发工具,后端开发则采用Eclipse(IntelliJ IDEA亦可)。该系统实现了商品管理、订单处理、库存管理和报表生成等核心功能,具有良好的稳定性和扩展性。通过详细的设计与实现过程,本文为相关领域的研究提供了有价值的参考。 ... [详细]
  • Eclipse项目重新编译指南:提升开发效率的关键步骤
    在Eclipse中,可以通过以下步骤来提高项目的编译效率:首先,在“Project”菜单中选择“Clean”选项,然后在弹出的对话框中选择需要清理的项目,并点击“OK”。完成清理后,重新运行或调试项目以确保代码的最新状态。此外,定期清理项目有助于消除编译错误和缓存问题,从而提升开发体验。 ... [详细]
  • Eclipse中解决JDK源码断点调试失效的问题 ... [详细]
  • 本指南详细介绍了在Linux环境中高效连接MySQL数据库的方法。用户可以通过安装并使用`mysql`客户端工具来实现本地连接,具体命令为:`mysql -u 用户名 -p 密码 -h 主机`。例如,使用管理员账户连接本地MySQL服务器的命令为:`mysql -u root -p pass`。此外,还提供了多种配置优化建议,以确保连接过程更加稳定和高效。 ... [详细]
author-avatar
豪哥帅366
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有