Go语言概况Go语言的发展历程Go语言的应用领域Go语言的特性Go程序运行环境01.03.02.04.目录01Go语言的发展历程•Go语言的诞生•Go语言的重要里程碑2008年初,Unix之父肯·汤普逊实现了第一版Go编译器。1Go语言的发展历程1Go语言的发展历程2009年11月10日Go语言诞生日2012年3月28日Go1.0发布同时发布“Go1兼容性”承诺2015年8月11日Go1.5发布完全移除C语言部分2018年8月25日Go1.11发布引入新的Go包管理机制:GoModules2021年2月17日Go1.16发布GoModules成为默认包管理机制2021年8月16日Go1.17发布将Go程序性能提高约5%2022年3月15日Go1.18发布支持泛型、模糊测试、工作区2022年8月3日Go1.19发布完善Go1.18,丰富文档注释语法02Go语言的特性•编译快,效率高•易学习,成本低•强大的标准库•简单的高并发•便捷的应用•良好的规范•持续的发展编译快,效率高相较于Java和C++相对较慢的编译速度,Go语言的编译速度快是一个主要的优势。易学习,成本低Go语言语法简单,与C语言的语法类似。强大的标准库Go语言中的标准库非常稳定并且丰富多样,包括网络、系统、加密、编码、图形等各个方面。简单的高并发Go语言的Goroutine和Channel的出现让处理并发和异步编程的问题变得优雅和流畅。便捷的应用不依赖任何系统提供的编译器和链接器,其编译出来的二进制可执行文件几乎可以运行在任何系统环境中。良好的规范除代码规范之外还拥有强大的编译检查、严格的编码规范和很强的稳定性。持续的发展Google公司聚集了一批具备世界水准的软件工程师。2Go语言的特性03Go语言的应用领域•服务器端•云计算云服务•区块链•大数据、人工智能•C和C++能做的事情,Go语言都可以做•Go语言目前在服务器端的落地应用有:数据打包、日志处理、文件系统、数据库代理、Web应用、API应用等•云计算时代的C语言•Go语言目前在云计算的落地应用有:京东的消息推送服务、京东分布式文件系统3Go语言的应用领域•区块链的主流开发语言正是Go语言•Go语言目前在区块链的落地应用有:以太坊、金链盟区块链技术框架FISCO-BCOS•Go语言非常适合做数据挖掘、分析、存储•Go语言目前在人工智能和大数据的落地应用有:pholcus(爬虫)、TiDB(存储)、针对Tensorflow编写各种API3Go语言的应用领域04Go程序运行环境•程序的定义•开发(运行)环境•运行步骤要想让计算机完成某个任务,就需要将任务分解为能够让计算机识别的指令,最终将指令汇合形成程序。4Go程序运行环境使用文本编辑器创建Go程序保存文件编译程序运行编译得到的可执行文件4Go程序运行环境名词解释$GOROOTGo的实际安装路径$GOARCH计算机的处理器架构(x86、ARM等)$GOOS计算机的操作系统(Windows、Linux等)$GOBIN编译器和链接器的安装位置,默认是$GOROOT/bin$GOPATH项目的工作目录,内含三个规定的目录:src(存放源码文件)、pkg(存放包文件)和bin(存放可执行文件)4Go程序运行环境4Go程序运行环境谢谢观看