关注我的个人博客:www.yaoxinlei.com

姚鑫磊的博客园

翻过一座山,山后一片海。

初始Go语言

一、初始

1.简介

GO是一门开放源码的编程语言,可容易的构建简单、可靠和高效的软件

2.Go的历史

Go语言是由谷歌的开发工程师(罗伯特·格瑞史莫、罗勃·派克、肯·汤普逊等)与2007年开始实设计,利用20%的自由时间开发的实验项目,并于2009年以BSD-style授权(完全开源)首次公开发布,与2012年正式发布。

3.创造

发者使用编程语言的的三大分类(执行速度、简易程度、开发难度);

  • 执行速度快、编译速度慢(编译型):C,C++
  • 执行速度慢、编译速度快(解释型):JAVA,.NET
  • 执行速度慢、开发难度小(动态脚本):Python,PHP

Go语言再三个条件做了平衡:易于开发、快速编译、高效执行

4.特性

Go语言被称为21世纪的C语言,Go从其他语言借鉴了许多优秀的设计思想,例如:从C语言借鉴"表达式、流程控制、基础数据类型、参数传递、指针等";从 Oberon-2 语言借鉴的包的导入和声明等,从 Oberon 语言借鉴的面向对象特性中方法的声明语法,从 Limbo 语 言中借鉴的 CSP(通信顺序进程,communicating sequential processes),从 APL 语言借鉴的 iota 语法,从 Scheme 语言借鉴的作用域和嵌套函数

  • 静态类型并具有丰富的内置类型:bool、byte、rune、int、float、string、array、slice、map
  • 函数多返回值
  • 错误处理机制:使用defer、panic、recover定义标准的错误流程
  • 语言层并发:使用关键字go将函数以Goroutine方式运行,使用CSP模型作为Gorouteine的通信方式
  • 面向对象:使用类型、组合、接口来实现面向对象思想
  • 反射
  • CGO:用于调用C语言实现的模块
  • 自动垃圾回收
  • 静态编译
  • 交叉编译
  • 易于部署
  • 基于BSD协议完全开放

5.应用

Go语言主要用于服务端开发,其定位是开发大型软件,常用于如下:

  • 服务器编程:日志处理、数据打包、虚拟机处理、文件系统、分布式系统、数据库代理等
  • 网络编程:Web应用、API应用、下载应用
  • 内存数据库
  • 云平台
  • 机器学习
  • 区块链

使用Go开发的项目列表:Github官网
Go、docker kubernetes、lantern、etcd、prometheus、influxdb、consul、nsq、beego
使用Go开发的组织:Go语言资源

posted @ 2021-06-03 22:34  姚鑫磊  阅读(67)  评论(0编辑  收藏  举报
区顶部