Golang / 编程开发

Go语言基础介绍

温馨提示:本文最后更新于2021-10-25 11:17:13,某些文章具有时效性,若有错误或已失效,请在下方留言或提交工单提交工单
浅时光 · 10月25日 · 2021年 · 本文1503个字,预计阅读4分钟 3219次已读

一、Go语言简介


Go语言是Google于2009年正式发布的一款开源的静态编译型编程语言,Go拥有构建简单、可靠和高效的特性。Go又称为Golang,是谷歌团队里的工程师开发出来的语言,它兼具了Python这种动态语言的开发速度,同时又达到了C/C++这种编译性语言的性能。Go可以用来用网络编程、WEB站点开发、后端服务开发等,用途众多。

二、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系统,同年11月支持Windows平台。时至今日,Go语言已经完成自举,社区生态成绩斐然,包括大量拿得出手的杀手级应用(kubernetes、Gogs、Grafana、Prometheus、ETCD等),两次夺得TIOBE年度编程语言称号(2009年和2016年)。Go语言累计接受了3万多次代码的提交,共有近900名开发者参与到Go语言项目中。

三、语言的类型


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

  • 执行速度快、编译速度慢(编译型):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:用于调用C语言实现的模块
  • 自动垃圾回收
  • 静态编译
  • Go语言支持交叉编译,可以在运行Linux系统的计算机上开发Windows下的应用程序
  • 易于部署
  • 基于BSD协议完全开放

五、Go使用场景


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

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



本文作者:浅时光
原文链接:https://www.dqzboy.com/8618.html
版权声明:知识共享署名-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)协议进行许可
转载时请以超链接形式标明文章原始出处和作者信息

0 条回应

必须 注册 为本站用户, 登录 后才可以发表评论!

    本站已稳定运行: | 耗时 0.394 秒 | 查询 10 次 | 内存 38.06 MB