1 Go语言极速简介

陆满庭 · · 664 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Go语言经常被称为“Golang”,据官方的说法是因为最初无法注册到“go.org”这个域名,而只好使用了“golang.org”这个域名的原因。


Go语言大约从2007年开始构想,最初是由谷歌公司的几位工程师设计的。Go语言的设计初衷是为了解决当时较流行的C++、Java等开发语言过于复杂而低效的问题。


2009年11月10日,Go语言被正式转为开源项目,这一天也被认为是Go语言正式的诞生日。


2012年,Go语言发布了第一个正式版本1.0。到2019年2月,Go语言发布到了1.12版。到目前为止,Go语言最新的版本是1.13。与此同时,Go语言的大版本2从2017年开始已经在构思和讨论中。


2018年,Go语言排入了最受欢迎的计算机语言中的前5名;并获评“最有前途的计算机语言”之一。


Go语言的主要特点包括:

* 轻量级、性能优异,编译运行,代码运行效率接近于C,书写难易度确接近于C++/Java等高级语言;

* 内置丰富的标准库;

* 完全免费并开源;

* 真正的跨平台,并且都是原生代码运行,无需虚拟机或解释器;支持跨平台编译;Go语言主要支持Windows、MacOS、LinuxGo这几个操作系统平台;

* 语法简约而严谨,可以有效避免程序员很多常见的书写错误;

* 语言层面上就支持的原生高效的并发处理机制;

* 用心设计的指针操作,可以避免C/C++等语言常见的指针用法错误和内存泄漏;

* 独特的内存管理和自动垃圾回收机制,据说效率比其他一些语言更高;

* 用特殊方式完整支持面向对象编程,既保留了面向对象编程中最重要的一部分,又避免了较为复杂导致的效率不高的问题;主要的面向对象编程的特性在Go语言中都可以用较轻巧的方式实现;

* 具备丰富的网络编程功能,尤其是服务器端的开发支持;

* 独具一格的异常处理机制,这一点有一定的争议,但无论如何是一种解决传统异常处理方式的思路;

* Go语言的其他一些特性包括:通过“空接口”类型支持类似对象基类的概念;支持函数作为参数传递;支持匿名函数和闭包;支持反射;支持通过Cgo方式直接调用C语言函数库等;

* Go语言也有一些不足之处,例如对图形界面编程支持不够好,这是因为Go语言设计之初就是以解决服务器端处理的问题为主的。另外,对某些程序员来说,Go语言过于严格的代码书写要求,也导致了一些不满,但总的来说,带来的避免常见代码书写错误的好处还是值得的。


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:陆满庭

查看原文:1 Go语言极速简介

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

664 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传