Go,互联网时代的C
欢迎来到 Go 的世界,让我们开始探索吧! Go 是一种新的语言,一种并发的、带垃圾回收的、快速编译的语言。它具有以下特点:
- 它可以在一台计算机上用几秒钟的时间编译一个大型的 Go 程序。
- Go 为软件构造提供了一种模型,它使依赖分析更加容易,且避免了大部分 C 风格include 文件与库的开头。
- Go 是静态类型的语言,它的类型系统没有层级。因此用户不需要在定义类型之间的关系上花费时间,这样感觉起来比典型的面向对象语言更轻量级。
- Go 完全是垃圾回收型的语言,并为并发执行与通信提供了基本的支持。
- 按照其设计,Go 打算为多核机器上系统软件的构造提供一种方法。
Go 是一种编译型语言,它结合了解释型语言的游刃有余,动态类型语言的开发效率,以及 静态类型的安全性。它也打算成为现代的,支持网络与多核计算的语言。要满足这些目标, 需要解决一些语言上的问题:一个富有表达能力但轻量级的类型系统,并发与垃圾回收机 制,严格的依赖规范等等。这些无法通过库或工具解决好,因此 Go 也就应运而生了。
简介
Go语言是谷歌推出的一种全新的编程语言,是动态语言的写法,静态类型,编译执行速度,近C的执行效率,是一个在语言层面实现了并发机制的类C的通用型编程语言。 主要特性:
- 动态语言的写法,静态类型,编译执行
- 动态语言写法,静态语言执行效率
- 自动垃圾回收
- 更丰富的内置类型
- 函数多返回值
- 自动错误处理
- 匿名函数和闭包
- 类型和接口
- 并发编程模型
- 反射
- 语言交互
- 模块化的包管理机制,一个脚本即可是一个包
- 包可导出可见成员供包外部使用
- Go程序执行首调main.main() 函数
- 任何地方都是UTF-8的包括字符串和程序代码
- go fmt自动格式化代码风格统一
- go get获取远程代码库,go doc自动建立代码文档等工具
团队成员
- Thompson:1983年图灵奖(Turing Award)和1998年美国国家技术奖(National Medal of Technology)得主。他与Dennis Ritchie是Unix的原创者。Thompson也发明了后来衍生出C语言的B程序语言。
- Pike:曾是贝尔实验室(Bell Labs)的Unix团队,和Plan 9操作系统计划的成员。他与Thompson共事多年,并共创出广泛使用的UTF-8 字元编码。
- Robert Griesemer:曾协助制作Java的HotSpot编译器,和Chrome浏览器的JavaScript引擎V8。
- 此外还有Plan 9开发者Russ Cox、和曾改善已广泛使用之开原码编译器GCC的Ian Taylor。
支持平台
硬件架构
Go语言设计支持主流的32位和64位的x86平台,同时也支持32位的ARM架构。
操作系统
Go语言在Go1版本上支持Windows, 苹果Mac OS X, Linux和FreeBSD操作系统。
go适应领域
- 并发编程
- 多核处理
- 快速快发
- 云服务
- 高效率
开发工具
- LiteIDE是一款专门为Go语言开发的跨平台轻量级集成开发环境(IDE),由visualfc编写
LiteIDE主要特点:
- 支持主流操作系统Windows、Linux、MacOS X
- Go编译环境管理和切换,管理和切换多个Go编译环境,支持Go语言交叉编译
- 与Go标准一致的项目管理方式:基于GOPATH的包浏览器,基于GOPATH的编译系统,基于GOPATH的Api文档检索
- Go语言的编辑支持:类浏览器和大纲显示
- Gocode的完美支持
- Go语言文档查看和Api快速检索
其他特征:
- 支持多国语言界面显示
- 完全插件体系结构
- 支持编辑器配色方案
- Markdown文档编辑支持
Sublime Text 2(以下简称Sublime)+ GoSublime + gocode + MarGo的组合。 其优点有:
自动化提示代码。
保存的时候自动格式化代码,让您编写的代码更加美观,符合Go的标准。
支持项目管理
支持语法高亮Vim
Vim是从vi发展出来的一个文本编辑器,代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。 Emacs
Emacs传说中的神器,她不仅仅是一个编辑器,它是一个整合环境,或可称它为集成开发环境,这些功能如让使用者置身于全功能的操作系统中。
Eclipse
Eclipse也是非常常用的开发利器,可以使用Eclipse来编写Go程序。
IntelliJ IDEA
熟悉Java的读者应该对于idea不陌生,idea是通过一个插件来支持go语言的高亮语法,代码提示和重构实现。
下期预告:golang开发环境搭建
golang-python学习心得
微信公众号:golang-python
个人微信ID:fuhao1121
网址:http://fuhao715.github.io
QQ:243312452
编程学习心得轻松学编程
回复:『 p 』查看python课程回复
回复:『 g 』查看golang课程回复
回复:『 m 』查看项目管理
回复:『 w 』查看其他文章
点击"阅读全文"进入http://fuhao715.github.io