第01节 Go语言简介

第01节 Go语言简介

本节内容:

  • Go简介。
  • Go语言应用。
  • Go成功的项目。
  • 为什么选择Go语言。
  • Go语言特点总结

1.1 Go简介

**Go (或 Golang )**是 Google 2007 年开发的一种开源编程语言。

2009年11月10日,Google Open Source Blog向全球发布了这款语言。

Go 的主要目标是:兼具 Python 等动态语句的开发速度和C/C++等编译型语言的性能与安全性

1.2 Go语言应用

  • 服务器编程,以前你如果使用C或者C++做的那些事情,用Go来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等。

  • 分布式系统,数据库代理器等。

  • 网络编程,这一块目前应用最广,包括Web应用、API应用、下载应用。

  • 内存数据库,前一段时间google开发的groupcache,couchbase的部分组建。

  • 云平台,目前国外很多云平台在采用Go开发,CloudFoundy的部分组建,前VMare的技术总监自己出来搞的apcera云平台

1.3 Go成功的项目

  • nsq:bitly开源的消息队列系统,性能非常高,目前他们每天处理数十亿条的消息。

  • docker:基于lxc的一个虚拟打包工具,能够实现PAAS平台的组建。

  • packer:用来生成不同平台的镜像文件,例如VM、vbox、AWS等,作者是vagrant的作者。

  • skynet:分布式调度框架。

  • Doozer:分布式同步工具,类似ZooKeeper。

  • Heka:mazila开源的日志处理系统。

  • cbfs:couchbase开源的分布式文件系统。

  • tsuru:开源的PAAS平台,和SAE实现的功能一模一样。

  • groupcache:memcahe作者写的用于Google下载系统的缓存系统。

  • god:类似redis的缓存系统,但是支持分布式和扩展性。

  • gor:网络流量抓包和重放工具。

1.4 为什么选择Go语言

C/C++的问题:

  • 开发效率低,对开发者要求高
  • libc只向后兼容,运维难度偏大

Lua/Python的问题:

  • 动态语言,缺少编译过程,低级错误频出
  • 缺少有效的性能分析及调试工具

1.5 Go语言特点总结

  1. 有C基础,学Golang非常轻松。
  2. 同步方式轻松实现高并发。
  3. 代码简洁,格式统一,阅读方便。
  4. 性能强劲的同时,开发效率又不差于Python等动态语言。

Go语言学习课程:
Go语言零基础手把手入门

猜你喜欢

转载自blog.csdn.net/chg2663776/article/details/123818281
今日推荐