ad

编程之旅从学会《零基础Go语言》开启_第一章_入门基础

admin 138 2023-10-12

【摘要】 本书摘自《零基础Go语言 从入门到精通》一书中第一章,第1节,编者是零壹快学

第 1 章

走进 Go

1.1 Go编程语言概述

Go语言也叫Golang,是由谷歌(Google)公司在2007年推出的一款静态编译型语言。Go语言 高效、简洁、容易上手,加上它的高并发和自带垃圾回收等特性,一出现就备受大家的喜爱。 目前,越来越多的公司开始推广并使用Go语言,主要将其用于服务端开发、并发编程和网络编程等。

本章将带你走进Go语言,体会Go语言的独特魅力。

1.1.1 Go的历史

编程之旅从学会《零基础Go语言》开启_第一章_入门基础

Go语言起源于2007年,于2009年正式对外发布。Go语言项目主要由三位IT届著名人士参与 开发: 肯·汤普逊(Ken Thompson)、罗布·派克(Rob Pike) 和罗伯特·格里泽默(Robert Griesemer)。此处简单介绍一下他们的贡献。

肯·汤普逊: 图灵奖得主,Unix发明人,B语言(C语言前身)作者。1983年,他与丹尼 斯·里奇(Dennis Ritchie)共同获得了图灵奖。2006年,他进入谷歌公司工作,与其他人共同设

计了Go语言。

罗布·派克:Unix团队和Plan 9操作系统计划的成员,曾经参与过贝尔实验室九号计划、操作系统Inferno与编程语言Limbo的开发。

1.1.2 Go语言特性及应用场景

随着人工智能、大数据和云计算时代的到来,Python、Java和PHP等编程语言风靡盛行,C/C++ 等编程语言也有自己的特性和应用场景,那么作为后起之秀的Go语言究竟有哪些特性和优势?这

些特性又适用于哪些应用场景呢?

1 . 容易上手

Go语言上手非常容易,许多零基础的初学者在学习大约一周的时间后就可以使用Go语言完成 一些既定的任务。而C/C++等语言,则需要经过几个月的时间学习才开始上手,并且学习中的大量时间都用于避免语法错误和调试代码bug。

2. 编译速度快

在Go编程语言的1.7版本更新中,通过减少编译器所使用的内存量、减少链接时间来减少总的编译时间。根据测试,这项改进和Go1.5.3相比减少了20%~30%的总编译时间。

另外,Go语言工程结构简单,没有头文件和不允许包的交叉编译等规则,这也在很大程度上

减少了编译所需的时间。

3. 原生支持并发

Go语言最主要的特性就是从语言层面原生支持并发,无须任何第三方库。Go的并发基于 goroutine,可以理解为一种微线程。与Python的多线程性能限制于GIL全局锁不同,Go语言的并发 可以充分利用CPU的资源,将goroutine合理地分配到每个CPU中,最大限度地使用CPU的性能。 goroutine之间的通信可以使用Go语言的sync包和channel机制来实现。

4. 垃圾回收

一直以来,内存管理是程序员开发中的一大难题。传统的编程语言C/C++中,程序员必须对内存进行细致的管理操作,控制内存的申请及释放,否则就可能产生内存泄漏问题。

为了解决这个问题,Go语言实现了自己的垃圾回收器,在1.3版本前采用传统的Mark and Sweep 算法。Go语言在1.5的版本更新中进行了较大改进,使用了三色标记算法,进一步改善了垃圾回收

的机制,使程序员更加专注于业务本身,不用把过多的精力投入到垃圾回收中。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:编程之旅从学会《零基础Go语言》开启_第三章_基本变量与类型_中
下一篇:编程之旅从学会《零基础Go语言》开启_第七章_函数3
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×