Golang学习之开篇
GO的开篇
为什么要创建Go语言
- 计算机硬件技术发展迅速,主流编程语言发展落后于硬件,不能合理利用多核多CPU的优势提升软件系统性能
- 现有编程语言存在风格不统一,计算能力不够,处理大并发不够好等问题,缺乏足够简洁高效的编程语言
- c/c++语言程序运行速度很快,但是编译速度确实很慢,同时还存在内存泄漏等一系列问题
Go语言的特点
Go = C + Python,说明Go语言既有C语言静态编程语言的运行速度,又能达到Python动态语言的快速开发及维护的高效率
- 从C语言中保留了很多理念,包括表达式语法,控制结构,基础数据类型,调用参数传值,指针等,也保留了和C语言一样的编译执行方式及弱化的指针
- 引入包的概念,用于组织程序结构
- 天然并发,从语言层面支持并发,实现简单,利用Goroutine,轻量级线程实现大并发处理,高效利用多核多cpu,同时基于CPS并发模型实现高并发
- 通过管道channel实现不同的goroutine之间的相互通信
- 引入了切片slice,以及延时执行defer等
Golang执行流程
-
编译生成可执行文件,该文件可以在没有go开发环境的机器上运行
go build xxx.go --> xxx.exe
在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,因此可执行文件较大。
编译是指将源代码文件通过编译器编译成机器可以识别的二进制码文件 -
直接运行源代码,需要go开发环境,否则无法执行
go run xxx.go

浙公网安备 33010602011771号