开发者学堂课程【Go 语言核心编程 - 基础语法、数组、切片、Map: Go 语言的特性和快速体验】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/625/detail/9488
Go 语言的特性和快速体验
内容介绍:
一、GO 语言的特点
二、快速体验
一、GO 语言的特点
又达到了动态语言开发维护的高效率。
Go 语言保证了既能到达静态编译语言的安全和性能,又达到了动态语言开发维护的高效率,使用一个表达式来形容 Go 语言∶
Go =C+Python,说明 Go 语言既有 C 静态语言程序的运行速度,又能达到 Python 动态语言的快速开发。
GO 语言,拥有动态语言开发的效率,也就是说用它来做开发,非常的快。
比如说像这个 python,大家都知道 python 开发效率是比较高的,那么 C 语言的性能是比较高的。
所以说我们如果用一个表达式来说明的话就是:Go =C+Python。
也就是说 GO 即拥有 C 语言的静态编译的性能,同时,又拥有 Python 中动态脚本语言的开发效率。
1)从 C 语言中继承了很多理念,包括表达式语法,控制结构,基础数据类型,调用参数传值,指针等等,也保留了和 C 语言一样的编译执行方式及弱化的指针。
2)引入包的概念,用于组织程序结构,Go 语言的一个文件都要归属于—个包,而不能单独存在。
在写代码时,系统会提示,这个代码有没有属于自己的包。
3)垃圾回收机制,内存自动回收,不需开发人员管理(出现内存泄漏)。
4) 天然并发(重要特点)
go 语言,在刚开始设计的时候,它本身能够有效的利用多核多 cpu。那多合作 cpu ,最终。大并发。
在设计时,因为它引入了一个叫做 goroutine 这么一个概念,是一个轻量级的线程。而且可以非常轻松的时间大平方。高效的利用多核。
(1)从语言层面支持并发,实现简单
(2)goroutine,轻量级线程,可实现大并发处理,高效利用多核。
(3)基于 CPS 并发模型(Communicating Sequential Processes )实现。
从 C 语言中继承了很多理念,包括表达式语法,控制结构,基础数据类型,调用参数传值,指针等等,也保留了和 C 语言一样的编译执行方式及弱化的指针。
5)吸收了管道通信机制,形成 Go 语言特有的管道 channel
通过管道 channel,可以实现不同的 yoroute 之间的相互通信。
6) 函数返回多个值(示意代码)
7)新的创新∶比如切片、延时执行 defer 等
//写一个函数,实现同时返回 和,差
// go 函数支持返回多个值
func getSumAndSub(n1 int,n2 int)(int,int ){
Sum:= n1+ n2
sub:=n1-n2
return Sum : Sub
}