技术

IT这个行当之需求与时间管理 golang结构体和包中的类型或基础类型定义方法 golang中结构体的初始化方法(new方法) 项目管理总结 python函数式编程之-装饰器(Decorators) python文件批量处理 Go,互联网时代的C Python推导式演变(Comprehensions) 项目管理感悟 golang学习简单例子 了解GitHub工作流【译】 PHP Socket的使用 Apache 日志文件格式及简单处理 Python脚本--下载合并SAE日志 PHP命名空间及自动加载 基于CSS3实现尖角面包屑 部署Ceilometer到已有环境中 OpenStack Ceilometer Collector代码解读 OpenStack Ceilometer数据存储与API源码解析 OpenStack Ceilometer中的Pipeline机制 OpenStack Ceilometer Compute Agent源码解读 学习Python动态扩展包stevedore 学习Python的ABC模块 Python包管理工具setuptools详解 OpenStack Horizon 中文本地化 WSGI学习 在虚拟机单机部署OpenStack Grizzly 学习使用python打包工具distutils python包工具之间的关系 给OpenStack创建Ubuntu镜像 OpenStack Grizzly Multihost部署文档 为什么使用pip而不是easy_install HTML中meta标签viewpoint的作用 交互式编程-IPython 页面提速之——数据缓存 给OpenStack创建Win7镜像 Ceilometer的命令行使用 部署一个ceilometer-horizon项目 给OpenStack创建Windows XP镜像 几种企业的存储系统 概念模型、逻辑模型、物理模型的区别 五中常见的开源协议整理(BSD,Apache,GPL,LGPL,MIT) OpenStack监控项目Ceilometer的一些术语 VNC和远程桌面的区别 OpenStack Ceilometer项目简介 虚拟化与云计算中KVM,Xen,Qemu的区别和联系 调试和修改OpenStack中的Horizon部分 JavaScript变量作用域 kanyun worker原理 kanyun server服务 在OpenStack中部署kanyun kanyun的api-client命令 sae下的python开发部署和一个简单例子 OpenStack Nova内部机制 PHP可变变量 JS中防止浏览器屏蔽window.open PHP操作Session的原理及提升安全性时的一个问题

标签


Go,互联网时代的C

2014年03月17日

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