一、Go语言简介
Go语言是Google于2009年正式发布的一款开源的静态编译型编程语言,Go拥有构建简单、可靠和高效的特性。Go又称为Golang,是谷歌团队里的工程师开发出来的语言,它兼具了Python这种动态语言的开发速度,同时又达到了C/C++这种编译性
二、Go语言历史
Go语言最早于2007年有Rob Pike[罗布派克](贝尔实验室UNIX团队成员,曾参与Plan 9、Infferno和Limbo等项目)、Rebert Griesemer[雷伯特格里塞默](Java HotSpot虚拟机、V8引擎开发者之一)和Ken Thompson[肯汤普森](贝尔实验室UNIX团队成员,C语言、UNIX和Plan 9创始人之一,与Rob Pike共同开发了UTF-8字符集规范)三人在业余时间联合开发,后来加入了Ian Lance Taylor[伊恩兰斯泰勒](GCC核心开发人员)、Russ Cox[拉斯考克斯](曾参与Plan 9操作系统的开发)和Brad Fitzpatrick[布拉德菲茨帕特里克](memcached的作者)等人。
Google于2009年11月10号正式发布Go语言,并以BSD协议完全开源,支持Linux和Mac OS系统,同年
三、语言的类型
开发者使用编程语言的三大分类(执行速度、简易程度、开发难度);
- 执行速度快、编译速度慢(编译型):C,C++
- 执行速度较慢、编译速度快(解释型):JAVA,.NET
- 执行速度慢、开发难度小(动态脚本):Python,PHP
Go语言在3个条件做了平衡:易于开发、快速编译、高效执行
四、Go语言特性
Go语言被称为21世纪的C语言,Go从其他开发语言中借鉴了许多优秀的设计思路,例如借鉴了C语言的表达式、流程控制、基础数据类型、参数传递、指针等,从0beron-2语言借鉴的包的导入和声明等,从Oberon语言借鉴的面向对象特性中方法的声明语言,从Limbo语言中借鉴的CSP(通信顺序进程,communicating sequential processes),从APL语言借鉴的iota语法,从Scheme语言借鉴的作用域和嵌套函数,等等….
- 静态类型并具有丰富的内置类型:bool(布尔)、type(字节)、rune、int、float、string、array(数组)、slice(切片)、map
- 函数多返回值
- 错误处理机制:使用defer、panic、recover定义标准的错误流程
- 语言层并发:使用关键字go将函数以Goroutine方式运行,使用CSP模型作为Goroutine的通信方式
- 面向对象:使用类型、组合、接口来实现面向对象思想
- 反射
- CGO:用于调
文章来源(Source):浅时光博客 用C语言实现的模块 - 自动垃圾回收
- 静态编译
- Go语言支持交叉编译,可以在运行Linux系
原文链接:https://www.dqzboy.com 统的计算机上开发Windows下的应用程序 - 易于部署
- 基于BSD协议完全开放
五、Go使用场景
Go语言主要用于服务端开发,其定位是开发大型软件,常用于:
- 服务器编程:日志出来、数据打包、虚拟机出来、文件系统、分布式系统、数据库代理等
- 网络编程:Web应用、API应用、下载应用
- 内存数据库
- 云平台
- 机器学习
- 区块链…….
必须 注册 为本站用户, 登录 后才可以发表评论!