搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
深入浅出Go语言核心编程
0.00     定价 ¥ 149.00
图书来源: 浙江图书馆(由浙江新华配书)
此书还可采购22本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787302649106
  • 作      者:
    作者:张朝明//李奕锋//甘海彬|责编:王金柱
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2024-01-01
收藏
畅销推荐
内容介绍
《深入浅出Go语言核心编程》是一本全面而深入的Go语言学习手册,涵盖了Go语言的诸多关键特性,包括语法结构、内存原理、并发、上下文机制与框架应用等。本书共20章。第1章引导读者快速搭建开发环境,详细介绍Go语言的环境配置及编译运行的具体细节。第2~5章详细讨论Go语言独特的变量、常量、常用数据类型和流程控制,并重点解析复杂类型的底层实现机制。第6~8章讲解Go语言的函数及如何实现面向对象编程,打通Go语言面向过程和面向对象编程之间的桥梁。第9~12章探讨Go语言的一些高级话题,包括并发、上下文、反射、泛型等。第13~15章探讨Go语言的I/O、网络编程及RPC通信等编程场景。第16~18章是Go语言的扩展话题,涵盖了内存管理、正则表达式和Go语言的汇编。第19章和第20章重点探讨了Go语言在日常开发中的典型应用,主要介绍HTTP框架Gin的使用,以及如何利用Go语言开发一个综合项目。 《深入浅出Go语言核心编程》内容丰富,由浅入深,力求带领读者探究Go语言的本质,既适合初次接触Go语言的新手,也适合有一定经验的软件开发人员阅读。
展开
目录
第1章 第一个Go程序
1.1 搭建开发环境
1.2 一个简单的Go程序
1.2.1 编写第一个Go程序
1.2.2 运行第一个Go程序
1.3 环境变量说明
1.4 在IDE中运行Go语言程序
1.4.1 创建项目
1.4.2 创建Go程序文件
1.4.3 运行.go文件
1.5 Go语言如何实现跨平台
1.5.1 跨平台的准备工作
1.5.2 执行跨平台编译
1.6 探寻Go语言程序的编译执行过程
1.6.1 gobuild命令的选项
1.6.2 查看编译的详细过程
1.6.3 链接环节
1.7 编程范例——启动参数的使用
1.7.1 程序启动的入口函数
1.7.2 获取启动参数
1.8 本章小结
第2章 变量与常量
2.1 变量
2.1.1 变量声明
2.1.2 变量赋值
2.1.3 同时进行变量声明和赋值
2.1.4 多重赋值与“:=”操作符
2.1.5 没有多余的局部变量
2.1.6 全局变量
2.1.7 全局变量与链接
2.2 常量
2.2.1 常量的声明
2.2.2 常量块的使用
2.2.3 常量可以声明而不使用
2.3 iota与枚举
2.3.1 iota实现自增
2.3.2 iota计数不会中断
2.3.3 iota的使用场景
2.4 编程范例——iota的使用技巧
2.5 本章小结
第3章 简单数据类型
3.1 整型
3.1.1 声明整型变量
3.1.2 int和uint的设计初衷
3.2 浮点型
3.2.1 声明浮点型变量
3.2.2 浮点型会产生精度损失
3.2.3 Go语言中没有float关键字的原因
3.2.4 浮点型与类型推导
3.2.5 浮点型的比较
3.3 布尔类型
3.4 字符型
3.4.1 声明字符型变量
3.4.2 转义字符
3.5 字符串类型
3.5.1 声明字符串变量
3.5.2 字符串在磁盘中的存储
3.5.3 字符串在内存中的存储
3.5.4 利用rune类型处理文本
3.5.5 rune类型与字符集的关系
3.6 数组类型
3.6.1 声明数组变量
3.6.2 利用索引来访问数组元素
3.6.3 数组大小不可变更
3.6.4 数组作为函数参数
3.7 编程范例——原义字符的使用
3.8 本章小结
第4章 复杂数据类型
4.1 值类型和指针类型
4.1.1 值类型和指针类型的存储结构
4.1.2 为什么要区分值类型和指针类型
4.1.3 关于引用类型
4.2 slice(切片)的使用及实现原理
4.2.1 切片如何实现大小可变
4.2.2 切片的声明和定义
4.2.3 切片长度的扩展
4.2.4 切片容量的扩展
4.2.5 切片参数的复制
4.2.6 利用数组创建切片
4.2.7 利用切片创建切片
4.2.8 切片元素的修改
4.2.9 切片的循环处理
4.2.10 切片索引越界
4.2.11 总结切片操作的底层原理
4.3 map(映射)的使用及实现原理
4.3.1 声明和创建map
4.3.2 遍历map中的元素
4.3.3 元素查找与避免二义性
4.3.4 删除元素
4.3.5 map的存储结构解析
4.3.6 map元素的定位原理解析
4.3.7 map的容量扩展原理解析
4.4 channel(通道)的使用及实现原理
4.4.1 channel的使用
4.4.2 channel的实现原理
4.4.3 channel与消息队列、协程通信的对比
4.5 自定义结构体
4.5.1 自定义数据类型和自定义结构体
4.5.2 自定义结构体的使用
4.5.3 利用new创建实例
4.5.4 从自定义结构体看访问权限控制
4.5.5 自描述的访问权限
4.6 编程范例——结构体使用实例
4.6.1 利用自定义结构体实现bitmap
4.6.2 利用timer.Ticker实现定时任务
4.7 本章小结
第5章 流程控制
5.1 分支控制
5.1.1 if语句实现分支控制
5.1.2 switch语句实现分支控制
5.1.3 分支控制的本质是向下跳转
5.1.4 避免多层if嵌套的技巧
5.2 循环控制
5.2.1 for循环
5.2.2 for-range循环
5.2.3 循环控制的本质是向上跳转
5.2.4 循环和递归的区别
5.3 跳转控制
5.3.1 goto关键字的使用
5.3.2 goto的本质是任意跳转
5.4 编程范例——流程控制的灵活使用
5.4.1 for循环的误区
5.4.2 switch-case的灵活使用
5.5 本章小结
第6章 函数
6.1 函数在Go语言中的地位
6.1.1 Go语言中函数和方法的区别
6.1.2 重新理解变量声明中数据类型出现的位置
6.2 函数的定义
6.2.1 函数的参数
6.2.2 函数的返回值
6.2.3 函数多返回值的实现原理
6.3 函数的管理——模块和包
6.3.1 函数管理形式
6.3.2 模块与文件夹
6.3.3 本地包管理
6.3.4 模块名与文件夹名称
6.3.5 代码规范的意义
6.4 函数的调用和执行
6.4.1 包的别名与函数调用
6.4.2 init()函数与隐式执行顺序
6.4.3 利用init()函数执行初始化
6.4.4 利用匿名包实现函数导
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证