批量上传,套装书可能不全,下单前咨询在线客服! 正版书 !!!
¥ 60.73 7.6折 ¥ 79.8 全新
库存4件
作者肖建良、赵文丽
出版社清华大学出版社
ISBN9787302565970
出版时间2022-04
装帧平装
开本16开
定价79.8元
货号29399682
上书时间2024-10-20
计算机技术的发展日新月异,尤其是硬件技术不断更新换代,运行速度越来越快,存储容量越来越大,处理性能越来越高。软件技术更是飞速发展,云计算、大数据、人工智能、区块链等应用层出不穷。作为各种应用软件开发的基础——开发工具,也在不断地更新换代,不断地完善。软件开发业界也期望软件开发工具能越来越轻量,越来越易于上手好用,越来越易于提高编程效率,Go语言就是在这样的背景下诞生的。
2018年5月20日,工业和信息化部信息中心发布《2018 中国区块链产业白皮书》,深入分析了我国区块链技术在金融领域和实体经济的应用落地情况,系统阐述了中国区块链产业发展的六大特点和六大趋势,充分揭示了区块链技术的应用前景。区块链技术日渐落地,在金融领域的应用也日渐成熟,其各行各业对区块链技术的应用也在深入研究。在国外,主要的区块链项目均由Go语言开发。因此,Go语言被认为是区块链技术的主要开发工具之一。随着国内各行各业在数字化、信息化方面的高速发展,可以预料,Go语言与区块链技术将成为“数字中国”建设的重要支撑。
Go语言从2012年发布版G1至今,也就是短短的几年时间,与拥有四十多年“高龄”的C语言相比,确实是太年轻了。可是,年轻就是本钱,Go语言有的后发优势。它汲取了各种开发语言的优点,摈弃了那些多为人诟病、烦琐、易于出现歧义的语法,并补充了的编程理念,将面向过程编程与面向对象编程的优点结合于一体。可以说,后发语言就是早期语言优点的集大成者。
从TIOBE于2018年10月发布的编程语言热度排行榜来看,尽管Java和C仍然是王者风范,但Go语言表现也极其出色,从2017年10月排名20进位到2018年10月的12位,如图01所示,眼看突破前10有望了。而且,TIOBE也认为,按照此前的趋势来看,编程语言的TOP10很有可能在Swift、Go和R之中产生。
图01编程语言排行榜
Go语言的官方曾自称,之所以开发Go语言,是因为“近10年来开发程序之难让我们有点沮丧”,并且认为已经有十多年没有出现新的系统语言了,而计算机的环境却发生了巨大的变化。因此,Go语言的开发,几乎要集其他开发语言优点之大成,以期成为一种更新的、更易于使用及流行的通用开发语言。
Go语言号称是互联网时代的C语言,根本原因是来自于其语言级别的对并发的原生支持以及其独有的非常轻量级的goroutine。普通的一台桌面计算机,运行几百个线程就已深感吃力,可是,Go语言程序却可以运行成千上万个goroutine,仍显轻松自如。可见,Go语言对并发的支持有多强大。对于云计算、大数据、人工智能、区块链等这些后台服务器每时每刻都要面对海量的访问请求服务来说,如果并发处理能力不足,就根本应付不过来,势必造成用户的漫长等待,甚至引起服务请求超时退出。因此,后台服务器并发处理性能是重要、为优先考虑的因素。而Go语言的天生优势恰恰就是并发处理能力,可以说双方一拍即合,是天然盟友。可见,Go语言适合于高并发的服务器后台程序开发。
Go语言在设计之初,就糅合了静态编译型语言的高效和安全,以及动态解释型语言的易编程特点,又充分考虑了当代计算机网络以及多核多CPU的硬件系统,非常强调速度及效率,原生支持并发及垃圾自动回收。
编程语言的学习没有任何捷径,只有经过不断的编程实践,上机调试,在错误中不断地摸爬滚打,熬过多少个不眠之夜后,才能成为一个编程高手。
因此,本书不但在正文内容里提供了非常丰富厚实的实践案例,而且在每章习题里还提供了大量短小精练的小程序,供读者分析学习。每章理论内容学习结束后还提供了几个针对性的上机训练项目,有助于对所学理论内容的进一步理解与掌握。
本书分为10章,主要内容简述如下:
第1章认识Go语言: 从一个小程序入手,认识Go语言是什么样子的,接着介绍了Go语言的风格及输入输出格式,Go语言及编辑开发工具的安装等。
第2章Go语言设计元素: 包括Go语言的关键字、标识符、数据类型、常量、变量、操作符、表达式等。
第3章程序流程控制: 主要介绍Go语言的分支、循环、选择、跳转等流程控制语句。
第4章数组、切片与映射: 主要介绍自定义类型数组、切片及映射的概念、操作及应用等。
第5章函数与错误处理: 主要介绍函数的定义,参数的传递,匿名函数与闭包,init函数与main函数,错误与恢复机制,递归函数及内置函数等。
第6章字符串与指针: 主要介绍字符串的定义、操作,标准库strings包及strconv包的使用,指针的概念及使用等。
第7章结构体与方法: 主要介绍自定义结构体类型的概念、定义、操作、嵌套,匿名结构体,复合结构体,以及结构体方法的定义、继承及重写等。
第8章接口与反射: 主要介绍接口的定义、实现、赋值、查询以及接口的多态性,空接口及error接口介绍,反射的概念、类型、操作等。
第9章输入输出与文件处理: 主要介绍输入输出基本概念,标准库中有关输入输出的函数及使用,对文件的各种操作处理等。
第10章并发编程基础: 主要介绍并发的概念,Go语言支持并发的基本原理,goroutine及channel的概念、使用,select的使用,以及锁与同步等。
本书配有同步辅导教材《Go语言程序设计习题解答及上机指导》,供读者参考使用。为便于教学,还为全书所有章节制作了PPT,免费下载,供教学参考。
本书理论及实践内容丰富,建议安排76学时用于教学,其中理论教学40学时,上机操作36学时。
在本书的编写过程中,得到了赵文丽高工的大力支持与帮助,她不但认真细致地审阅了书稿,还提出了很多宝贵意见; 清华大学出版社贾斌老师在本书的出版过程中,做了大量的编辑校对工作。在此,对他们的辛勤付出一并表示衷心感谢!
由于作者水平有限,书中不足或错误之处在所难免,欢迎广大读者批评指正。
编者
2022年2月
本书主要讲述Go语言的基础语法,从基本的标识符、数据类型、操作符等开始,主要内容包括Go语言程序的主要设计元素,程序流程控制,数组、切片与映射,函数与错误处理,字符串与指针,结构体与方法,接口与反射,输入输出与文件处理,并发编程基础等。 本书通过大量的程序实例来演示Go语言的语法细节,每个知识点对应的所有细节都做了详述,并辅以大量的编程实践案例揭示其实际应用。 通过本书的学习,读者可以全面掌握Go语言核心的基础语法,能为Go语言应用项目开发打下坚实的基础。 本书既可以作为零基础读者的程序设计入门自学用书,也可以供有一定语言基础,有志于利用Go语言作为工具,开发云计算、区块链等项目的软件开发人员参考。 本书每章附有针对性的上机训练项目及大量的练习题,特别适用于高等院校相关专业作为编程基础类教材。
本书主要讲述Go语言的基础语法,从基本的标识符、数据类型、操作符等开始,主要内容包括Go语言程序的主要设计元素,程序流程控制,数组、切片与映射,函数与错误处理,字符串与指针,结构体与方法,接口与反射,输入输出与文件处理,并发编程基础等。 本书通过大量的程序实例来演示Go语言的语法细节,每个知识点对应的所有细节都做了详述,并辅以大量的编程实践案例揭示其实际应用。 通过本书的学习,读者可以全面掌握Go语言核心的基础语法,能为Go语言应用项目开发打下坚实的基础。 本书既可以作为零基础读者的程序设计入门自学用书,也可以供有一定语言基础,有志于利用Go语言作为工具,开发云计算、区块链等项目的软件开发人员参考。 本书每章附有针对性的上机训练项目及大量的练习题,特别适用于高等院校相关专业作为编程基础类教材。
肖建良,男,1964年生,大连理工大学城市学院网络工程专业教研室主任,副教授。从事高等教育20多年,企业技术管理工作10年。有丰富的一线教学经验及企业技术管理工作经验,深知社会对技术人员的需求,以及教学一线人员对优秀教材的渴求。本人曾主编过实践类教材《网络技术实验教材》 清华大学出版社 2009.10 出版;《网络技术综合实训教程》 大连理工大学出版社 2011.10出版。
第1章认识Go语言
1.1Go语言简史
1.2Go语言小程序
1.3Go语言的注释
1.4Go语言格式化
1.4.1格式化控制字符
1.4.2格式化输出
1.4.3格式化输入
1.5Go语言安装
1.6Go语言编辑工具
上机训练
习题
第2章Go语言设计元素
2.1标识符
2.1.1关键字
2.1.2预定义标识符
2.1.3分隔符
2.2数据类型
2.2.1基本数据类型
2.2.2复合数据类型
2.2.3自定义数据类型
2.3常量
2.3.1字面量
2.3.2常量的定义
2.3.3常量的赋值
2.3.4枚举
2.4变量
2.4.1变量的声明
2.4.2变量初始化
2.4.3变量赋值
2.4.4变量的类型转换
2.5操作符
2.6表达式
2.6.1逻辑表达式
2.6.2算术表达式
2.7类型及值的属性
2.7.1类型相同
2.7.2别名及类型定义
2.7.3可赋值问题
2.7.4无类型常量的表示
上机训练
习题
第3章程序流程控制
3.1代码块与作用域
3.1.1代码块
3.1.2作用域
3.1.3变量的可见性
3.2if语句
3.2.1基本语法
3.2.2省略else
3.2.3带子句的if
3.2.4if语句的嵌套
3.2.5if…else if语句
3.3switch语句
3.3.1表达式switch
3.3.2类型switch
3.3.3switch的嵌套
3.3.4break语句
3.3.5fallthrough语句
3.4select语句
3.5for语句
3.5.1基本语法
3.5.2for子句
3.5.3range子句
3.5.4break语句
3.5.5continue语句
3.5.6goto语句
上机训练
习题
第4章数组、切片与映射
4.1值和引用
4.1.1值传递
4.1.2引用传递
4.2数组
4.2.1数组的声明
4.2.2数组的初始化
4.2.3数组的赋值
4.2.4数组的类型
4.2.5数组的传递
4.2.6多维数组
4.3切片
4.3.1切片的定义
4.3.2切片的检索及赋值
4.3.3切片的操作
4.3.4切片的遍历
4.3.5切片的扩容
4.3.6切片的复制
4.3.7切片的插入与删除
4.3.8切片的排序与检索
4.4映射
4.4.1映射的概念
4.4.2映射的创建
4.4.3映射的填充及修改
4.4.4映射的查找与遍历
4.4.5映射的删除及键的修改
4.4.6映射的反转
上机训练
习题
第5章函数与错误处理
5.1函数的声明
5.1.1内部函数的声明
5.1.2匿名函数的声明
5.1.3外部函数的声明
5.1.4函数类型的声明
5.2函数的参数
5.2.1参数列表的格式
5.2.2可变参数
5.2.3值传递和引用传递
5.2.4空接口作为参数
5.3函数的返回值
5.3.1返回值列表的格式
5.3.2函数作为返回值
5.3.3多返回值处理
5.3.4return语句
5.4匿名函数与闭包
5.5init函数和main函数
5.5.1init函数
5.5.2main函数
5.6错误与恢复机制
5.6.1错误信息提示
5.6.2defer语句
5.6.3panic函数
5.6.4recover函数
5.7递归函数
5.8内置函数简介
上机训练
习题
第6章字符串与指针
6.1字符表示
6.2字符串变量的声明
6.3字符串的输入/输出
6.3.1从键盘输入字符串
6.3.2从字符串中扫描文本
6.3.3往标准I/O设备上输出字符串
6.3.4格式化串联字符串
6.4字符串的操作
6.4.1字符串搜索
6.4.2字符串的遍历
6.4.3字符串的截取
6.4.4字符串的连接
6.4.5字符串的修改
6.4.6字符串的删除
6.4.7字符串的插入
6.4.8字符串的比较
6.5strings包使用
6.5.1字符串包含
6.5.2字符串索引
6.5.3字符替换
6.5.4字符统计
6.5.5大小写转换
6.5.6字符串修剪
6.5.7字符串分割
6.5.8字符串连接
6.6strconv包使用
6.7UTF8包
6.8指针
6.8.1指针的概念
6.8.2指针变量声明
6.8.3指针的初始化及赋值
6.8.4指针应用
6.9多级指针
上机训练
习题
第7章结构体与方法
7.1结构体的定义
7.1.1基本语法
7.1.2使用new创建结构体
7.1.3结构体的赋值
7.1.4结构体的别名与转换
7.2结构体操作
7.2.1访问结构体成员
7.2.2结构体参数传递
7.2.3结构体复制
7.2.4结构体字段加标签
7.3结构体嵌套
7.3.1匿名字段结构体
7.3.2内嵌结构体
7.3.3字段及方法隐藏
7.3.4递归结构体
7.4匿名结构体
7.4.1匿名结构体的声明
7.4.2匿名结构体的应用
7.5复合数据类型结构体
7.5.1数组作为结构体的字段
7.5.2切片作为结构体的字段
7.5.3映射作为结构体的字段
7.5.4接口作为结构体的字段
7.5.5函数作为结构体的字段
7.6结构体的方法
7.6.1方法的声明
7.6.2为类型添加方法
7.6.3内嵌结构体的方法
7.6.4方法重写和多重继承
上机训练
习题
第8章接口与反射
8.1接口的定义
8.1.1接口声明
8.1.2接口的嵌套与组合
8.2接口的实现
8.2.1以值类型接收者实现方法
8.2.2以指针类型接收者实现方法
8.2.3判断类型是否实现接口
8.3接口赋值
8.3.1类型给接口赋值
8.3.2接口给接口赋值
8.4接口查询
8.4.1类型断言
8.4.2类型开关
8.4.3类型反射
8.5接口多态性
8.5.1多态的概念
8.5.2多态的实现
8.6空接口interface{}
8.7error接口
8.8反射
8.8.1反射类型
8.8.2反射值
8.8.3反射结构体
8.8.4设置值
8.8.5反射方法
上机训练
习题
第9章输入输出与文件处理
9.1输入输出基础
9.2io包的输入输出函数
9.2.1变量定义
9.2.2类型定义
9.2.3部分函数及方法介绍
9.3os包的输入输出函数
9.3.1常量与变量定义
9.3.2类型定义
9.3.3目录操作相关函数
9.3.4文件操作相关函数
9.4bufio包的输入输出函数
9.4.1包中的常量变量及类型定义
9.4.2常用输入输出函数及方法介绍
9.5io/ioutil包的输入输出函数
上机训练
习题
第10章并发编程基础
10.1基本概念
10.1.1同步与异步通信
10.1.2并行与并发
10.1.3进程线程与协程
10.2Go语言的并发编程元素
10.2.1goroutine
10.2.2channel
10.2.3select…case
10.3锁与同步
10.3.1基本概念
10.3.2sync.Mutex
10.3.3sync.RWMutx
10.3.4sync.Cond
10.3.5sync.WaitGroup
上机训练
习题
附录AASCII表
附录B习题参考答案
参考文献
本书主要讲述Go语言的基础语法,从基本的标识符、数据类型、操作符等开始,主要内容包括Go语言程序的主要设计元素,程序流程控制,数组、切片与映射,函数与错误处理,字符串与指针,结构体与方法,接口与反射,输入输出与文件处理,并发编程基础等。 本书通过大量的程序实例来演示Go语言的语法细节,每个知识点对应的所有细节都做了详述,并辅以大量的编程实践案例揭示其实际应用。 通过本书的学习,读者可以全面掌握Go语言核心的基础语法,能为Go语言应用项目开发打下坚实的基础。 本书既可以作为零基础读者的程序设计入门自学用书,也可以供有一定语言基础,有志于利用Go语言作为工具,开发云计算、区块链等项目的软件开发人员参考。 本书每章附有针对性的上机训练项目及大量的练习题,特别适用于高等院校相关专业作为编程基础类教材。
肖建良,男,1964年生,大连理工大学城市学院网络工程专业教研室主任,副教授。从事高等教育20多年,企业技术管理工作10年。有丰富的一线教学经验及企业技术管理工作经验,深知社会对技术人员的需求,以及教学一线人
— 没有更多了 —
以下为对购买帮助不大的评价