Go语言是什么

2009年11月10日,Go语言正式成为开源编程语言家庭的一员。

Go语言(或称Golang)是云计算时代的C语言。Go语言的诞生是为了让程序员有更高的生产效率,Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。

开发人员在为项目选择语言时,不得不在快速开发和性能之间做出选择。C和C++这类语言提供了很快的执行速度,而 Ruby 和 Python 这类语言则擅长快速开发。Go语言在这两者间架起了桥梁,不仅提供了高性能的语言,同时也让开发更快速。

Go语言优势

  • 可直接编译成机器码,不依赖其他库,glibc的版本有一定要求,部署就是扔一个文件上去就完成了。
  • 静态类型语言,但是有动态语言的感觉,静态类型的语言就是可以在编译的时候检查出来隐藏的大多数问题,动态语言的感觉就是有很多的包可以使用,写起来的效率很高。
  • 语言层面支持并发,这个就是Go最大的特色,天生的支持并发。Go就是基因里面支持的并发,可以充分的利用多核,很容易的使用并发。
  • 内置runtime,支持垃圾回收,这属于动态语言的特性之一吧,虽然目前来说GC不算完美,但是足以应付我们所能遇到的大多数情况,特别是Go1.1之后的GC。
  • 简单易学,Go语言的作者都有C的基因,那么Go自然而然就有了C的基因,那么Go关键字是25个,但是表达能力很强大,几乎支持大多数你在其他语言见过的特性:继承、重载、对象等。
  • 丰富的标准库,Go目前已经内置了大量的库,特别是网络库非常强大。
  • 内置强大的工具,Go语言里面内置了很多工具链,最好的应该是gofmt工具,自动化格式化代码,能够让团队review变得如此的简单,代码格式一模一样,想不一样都很困难。
  • 跨平台编译,如果你写的Go代码不包含cgo,那么就可以做到window系统编译linux的应用,如何做到的呢?Go引用了plan9的代码,这就是不依赖系统的信息。
  • 内嵌C支持,Go里面也可以直接包含C代码,利用现有的丰富的C库。

Go适合用来做什么

  • 服务器编程,以前你如果使用C或者C++做的那些事情,用Go来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等。
  • 分布式系统,数据库代理器等。
  • 网络编程,这一块目前应用最广,包括Web应用、API应用、下载应用。
  • 内存数据库,如google开发的groupcache,couchbase的部分组建。

Go基础编程:Go语言介绍相关推荐

  1. c语言编程基础------0.0c语言介绍

    注明:这篇文章主要内容来源与维基百科 http://zh.wikipedia.org/wiki/C%E8%AF%AD%E8%A8%80#C99 C语言 「 C程序设计语言」重定向至此.關於书籍,詳見「 ...

  2. 零基础编程——块语言编程游戏攻略之动画篇

    动画1 动画2 动画3 动画4 动画5 动画6 动画7 动画8 动画9 动画10 自由发挥

  3. 零基础编程——块语言编程游戏攻略之捉虫篇

    捉虫1 捉虫2 捉虫3 捉虫4 捉虫5 捉虫6 捉虫7 捉虫8 捉虫9 捉虫10

  4. 零基础编程——块语言编程游戏攻略之画图篇

    画图1 画图2 画图3 画图4 画图5 画图6 画图7 画图8 画图9 画图10 任意发挥

  5. 零基础编程——块语言编程游戏攻略之迷宫篇

    网址:https://playground.17coding.net 以下都是本人随意所答,如有更优者可以相互借鉴探讨. 第二关:迷宫1 迷宫2 迷宫3 迷宫4 迷宫5 迷宫6 迷宫7 迷宫8 迷宫9 ...

  6. 零基础自学R语言 1 R语言介绍 1.5 RStudio软件

    零基础自学R语言 文章目录 零基础自学R语言 1 R语言介绍 1.5 RStudio软件 1.5.1 介绍 1.5.2 项目 1.5.3 帮助 1.5.4 使用技巧 1.5.4.1 使用历史命令 1. ...

  7. Java基础编程——基础语法及介绍

    Java基础编程--基础语法及介绍 介绍 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称.由James Gosling和同事们共 ...

  8. 实验四 数据库SQL语言基础编程

    -- 实验四 数据库SQL语言基础编程 -- 实验目的: --  掌握数据库查询语句的编写方法 --  掌握利用查询语言完成基本查询 --  掌握利用SQL语句完成数据的添加.删除.修改操作 -- 实 ...

  9. PTA 基础编程题目集 7-27 冒泡法排序 C语言

    PTA 基础编程题目集 7-27 冒泡法排序 C语言 将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们.通过一遍扫描,则最后一 ...

  10. PTA 基础编程题目集 7-33 有理数加法 C语言

    PTA 基础编程题目集 7-33 有理数加法 C语言 本题要求编写程序,计算两个有理数的和. 输入格式: 输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范 ...

最新文章

  1. 程序员硬核“年终大扫除”,清理了数据库 70GB 空间
  2. jquery选择器,多个元素+除首个元素+出去首尾元素
  3. 《设计模式详解》行为型模式 - 命令模式
  4. MySQL基础操作命令
  5. Web 前端常用插件
  6. 厉害了,盘点那些改变世界的代码!
  7. 磁盘阵列卡 远程监控(MegaRAID Storage Manager)(一)
  8. 计算机电路中bga是什么,什么是BGA BGA的结构和性能
  9. 服务器 虚拟机 崩溃,认识VMware虚拟机,系统崩溃或异常,可通过快照还原磁盘文件系统...
  10. Compass实战 站内搜索
  11. 数据结构实验:城市交通咨询模拟系统
  12. SysY文法编译器前端设计实现
  13. COB,COF,COG区别
  14. 软件接口设计 六大原则
  15. tensorflow中的正确率是怎么来的??
  16. 几个常用的ASP木马
  17. 机器人编程对孩子有些什么帮助
  18. matlab绘制螺旋线+隐藏坐标轴+更改背景颜色
  19. Rebound库使用分享
  20. 虚拟化与云计算的区别

热门文章

  1. jQuery页面顶部下拉广告
  2. GZFramwork快速开发框架演练之会员系统(四)添加商品管理
  3. ConnectivityManager ConnectivityService in Android
  4. ADSL Modern+无线路由实现无线上网
  5. MFC中OnDraw与OnPaint的区别
  6. HDU - 6184 Counting Stars(思维+三元环)
  7. 中石油训练赛 - Incremental Induction(贪心)
  8. 2019ICPC(徐州) - Colorful String(哈希+二分+动态规划/回文自动机)
  9. edit plus 中文插件_iMindMap手绘思维导图软件中文版
  10. python支持的编程范式有_【Python学习手册】chapter1 前面