App下载
1-1 Go语言前景
Go 基础微课 / 1-1 Go语言前景
1/8

为什么要学习Go语言

Go语言简介

Go语言(或 Golang)是Google开发的开源编程语言,诞生于2007年,并于2009年11月开源,2012年发布Go稳定版。Go语言在多核并发上拥有原生的设计优势,Go语言从底层原生支持并发,无须第三方库、开发者的编程技巧和开发经验。


Go语言是编程语言设计的又一次尝试,它的主要目标是兼具Python 等动态语言的开发速度和C/C++等编译型语言的性能与安全性,对类C语言的重大改进,它不但能让你访问底层操作系统,还提供了强大的网络编程和并发编程支持。Go语言的用途众多,可以进行网络编程、系统编程、并发编程、分布式编程。


Go语言的推出,旨在不损失应用程序性能的情况下降低代码的复杂性,具有“部署简单、并发性好、语言设计良好、执行性能好”等优势,目前国内诸多 IT 公司均已采用Go语言开发项目。

并发编程

经过 Go 语言重构的系统能使用更少的硬件资源获得更高的并发和I/O吞吐表现。充分挖掘硬件设备的潜力也满足当前精细化运营的市场大环境。

Go语言的并发是基于 Goroutine 的,Goroutine 类似于线程,但并非线程。可以将 Goroutine 理解为一种虚拟线程。Go 语言运行时会参与调度 Goroutine,并将 Goroutine 合理地分配到每个 CPU 中,最大限度地使用CPU性能。开启一个Goroutine的消耗非常小(大约2KB的内存),你可以轻松创建数百万个Goroutine。

Goroutine 的特点
  • Goroutine 具有可增长的分段堆栈, 这意味着它们只在需要时才会使用更多内存。
  • Goroutine 的启动时间比线程快。
  • Goroutine 原生支持利用channel安全地进行通信。
  • Goroutine 共享数据结构时无需使用互斥锁。
Go 是编译型语言

Go 使用编译器来编译代码。编译器将源代码编译成二进制(或字节码)格式;在编译代码时,编译器检查错误、优化性能并输出可在不同平台上运行的二进制文件。要创建并运行 Go 程序,程序员必须执行如下步骤。

  1. 使用文本编辑器创建 Go 程序;
  2. 保存文件;
  3. 编译程序;
  4. 运行编译得到的可执行文件。


这不同于 Python、Ruby 和 JavaScript 等语言,它们不包含编译步骤。Go 自带了编译器,因此无须单独安装编译器

为什么要学习Go语言

如果你要创建系统程序,或者基于网络的程序,Go语言是很不错的选择。作为一种相对较新的语言,它是由经验丰富且受人尊敬的计算机科学家设计的,旨在应对创建大型并发网络程序面临的挑战。

在Go语言出现之前,开发者们总是面临非常艰难的抉择,究竟是使用执行速度快但是编译速度并不理想的语言(如:C++),还是使用编译速度较快但执行效率不佳的语言(如:.NET、Java),或者说开发难度较低但执行速度一般的动态语言呢?显然,Go语言在这 3 个条件之间做到了最佳的平衡:快速编译,高效执行,易于开发。


Go语言支持交叉编译,比如说你可以在运行 Linux 系统的计算机上开发可以在 Windows 上运行的应用程序。这是第一门完全支持 UTF-8 的编程语言,这不仅体现在它可以处理使用 UTF-8 编码的字符串,就连它的源码文件格式都是使用的 UTF-8 编码。Go语言做到了真正的国际化!


+10 经验 +10积分
解析
提示
参考答案
+10 经验 +10积分
参考答案
视频播放结束,是否学习下一节?