搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Go语言核心编程
0.00     定价 ¥ 79.00
图书来源: 浙江图书馆(由JD配书)
此书还可采购19本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787121349119
  • 作      者:
    李文塔
  • 出 版 社 :
    电子工业出版社
  • 出版日期:
    2018-09-01
收藏
产品特色
编辑推荐

Go语言精华部分 ——并发和小而美的类型系统。

Go陷阱——主要论述使用Go过程中大家很困惑或容易出错的地方。

Go语言的哲学——总结Go的设计哲学,懂得Go作者的设计意图,才能更好地使用该语言。


展开
作者简介

李文塔,现就职于腾讯,FiT(前身为财付通)支付账户核心DBA,高级工程师。近十年金融系统开发、运维经验,先后参与2016年到2018年微信春节红包项目和支付账户核心多地多活容灾项目。


展开
内容介绍

Go语言的核心语言特性包括:类型系统、接口、并发。这三部分是Go语言精华、优美、也是重要的特征,本书紧密围绕这三个主题展开。以“类型系统”为例,Go语言中的类型有:简单类型、复合类型、命名类型、未命名类型、静态类型、动态类型、底层类型、接口类型、具体类型以及类型字面量等诸多概念,这些概念在其他Go类图书里面鲜有介绍,本书试图帮助读者梳理清楚这些类型的含义,建立概念,认清类型本质并学会正确使用;在接口章节,不单介绍了接口概念和用法,还深入分析了接口的机制,使读者对Go语言非侵入式的接口有更深入的理解;在并发编程章节,书中给出了5个并发编程范式,并用图描述并发程序的模型,通俗易懂,这也是本书读特点。此外本书还拿出一整章内容介绍Go语言编程过程中可能遇到的陷阱,不仅告诉读者陷阱是什么,正确使用方式是什么,同时也给出出现这种问题的根本原因,使读者后续能够避免犯同样的错误。本书最后从哲学角度论述下Go语言的编程思想,相信Go语言爱好者一定可以从书中找到自己感兴趣内容

展开
精彩书评

Go语言诞生十年有余,日渐成熟。Go在云计算和区块链等领域成为事实上的常用语言,七牛云几乎所有基础设置都是使用Go语言构建的。《Go语言核心编程》一书紧紧围绕Go语言的接口、并发、类型系统三大特性展开论述,继承Go语言的哲学——言简意赅、少即是多,值得一读。

——许式伟,七牛云CEO

 

Go语言支持多种平台和操作系统,设计简单、易于上手,适合并发程序的编写,已经在微信支付账户核心容灾中进行尝试,取得了不错的效果。《Go语言核心编程》由浅入深、逐层分解,娓娓道来,相信越来越多同学学习Go语言时能从本书受益。

——程伟,腾讯金融科技平台运营总监

Go语言近些年发展迅速,虽然距传统Java、C、C++、Python语言还有不小的差距,但俨然成为一股新势力。未来Go能否通过云技术这股风潮在企业级应用中大展拳脚,将会是非常有意思的话题,码农们可拭目以待。希望本书能对Go语言感兴趣或还在观望的同学们带来帮助,尽快进入Go语言之门。

 

——姜承尧,腾讯金融数据平台中心总监

 

近些年云计算、区块链等领域基础技术平台大部分都是使用Go语言构建的,联易融作为一家金融科技公司,积极将Go语言运用于区块链、供应链金融等大型商业场景。《Go语言核心编程》一书论述深入浅出,尤其在并发编程章节,融合了作者大并发编程实战经验,无论对于初学者还是进阶者,都是一本难得的好书。

——钟松然,Linklogis联易融CTO

 

Go语言语法简洁,开发效率高,拥有强大的并发处理能力,越来越多的开发人员选择Go语言作为分布式系统构建的语言,开源的分布式数据库CockroachDB即基于Go语言构建。《Go语言核心编程》一书不但系统地介绍了Go语言核心语言特性,还介绍了关键语言特性的内部实现原理,无论初学者还是资深开发人员都可从书中有所收获。

——严龙,百度数据库架构师,CockroachDB Core Member

展开
目录

目录
第1章  基础知识
1.1  语言简介
1.1.1  Go语言的诞生背景
1.1.2  语言特性
1.1.3  Go语言的特性
1.1.4  总结
1.2  初识Go程序
1.3  Go词法单元
1.3.1  token
1.3.2  标识符
1.3.3  操作符(operators)和分隔符(delimiters)
1.3.4  字面常量
1.3.5  总结
1.4  变量和常量
1.4.1  变量
1.4.2  常量
1.5  基本数据类型
1.5.1  布尔类型
1.5.2  整型
1.5.3  浮点型
1.5.4  复数类型
1.5.5  字符串
1.5.6  rune类型
1.6  复合数据类型
1.6.1  指针
1.6.2  数组
1.6.3  切片
1.6.4  map
1.6.5  struct
1.7  控制结构
1.7.1  if语句
1.7.2  switch语句
1.7.3  for语句
1.7.4  标签和跳转
第2章  函数
2.1  基本概念
2.1.1  函数定义
2.1.2  多值返回
2.1.3  实参到形参的传递
2.1.4  不定参数
2.2  函数签名和匿名函数
2.2.1  函数签名
2.2.2  匿名函数
2.3  defer
2.4  闭包
2.4.1  概念
2.4.2  闭包的价值
2.5  panic和recover
2.5.1  基本概念
2.5.2  使用场景
2.6  错误处理
2.6.1  error
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.1.4  类型强制转换
3.2  类型方法
3.2.1  自定义类型
3.2.2  方法
3.3  方法调用
3.3.1  一般调用
3.3.2  方法值(method value)
3.3.3  方法表达式(method expression)
3.3.4  方法集(method set)
3.3.5  值调用和表达式调用的方法集
3.4  组合和方法集
3.4.1  组合
3.4.2  组合的方法集
3.5  函数类型
第4章  接口
4.1  基本概念
4.1.1  接口声明
4.1.2  接口初始化
4.1.3  接口方法调用
4.1.4  接口的动态类型和静态类型
4.2  接口运算
4.2.1  类型断言(Type Assertion)
4.2.2  类型查询(Type Switches)
4.2.3  接口优点和使用形式
4.3  空接口
4.3.1  基本概念
4.3.2  空接口的用途
4.3.3  空接口和nil
4.4  接口内部实现
4.4.1  数据结构
4.4.2  接口调用过程分析
4.4.3  接口调用代价
4.4.4  空接口数据结构
第5章  并发
5.1  并发基础
5.1.1  并发和并行
5.1.2  goroutine
5.1.3  chan
5.1.4  WaitGroup
5.1.5  select
5.1.6  扇入(Fan in)和扇出(Fan out)
5.1.7  通知退出机制
5.2  并发范式
5.2.1  生成器
5.2.2  管道
5.2.3  每个请求一个goroutine
5.2.4  固定worker工作池
5.2.5  future模式
5.3  context标准库
5.3.1  context的设计目的
5.3.2  基本数据结构
5.3.3  API函数
5.3.4  辅助函数
5.3.5  context的用法
5.3.6  使用context传递数据的争议
5.4  并发模型
5.4.1  CSP简介
5.4.2  调度模型
5.4.3  并发和调度
第6章  反射
6.1  基本概念
6.1.1  基本数据结构和入口函数
6.1.2  基础类型
6.1.3  类型汇总
6.2  反射规则
6.2.1  反射API
6.2.2  反射三定律
6.3  inject库
6.3.1  inject是什么
6.3.2  依赖注入和控制反转
6.3.3  inject实践
6.3.4  inject原理分析
6.4  反射的优缺点
6.4.1  反射的优点
6.4.2  反射的缺点
6.4.3  反射的最佳实践
第7章  语言陷阱
7.1  多值赋值和短变量声明
7.1.1  多值赋值
7.1.2  短变量的声明和赋值
7.2  range复用临时变量
7.3  defer陷阱
7.4  切片困惑
7.4.1  数组
7.4.2  切片
7.5  值、指针和引用
7.5.1  传值还是传引用
7.5.2  函数名的意义
7.5.3  引用语义
7.6  习惯用法
7.6.1  干净与强迫症
7.6.2  comma,ok表达式
7.6.3  简写模式
7.6.4  包中的函数或方法设计
7.6.5  多值返回函数
第8章  工程管理
8.1  编程环境
8.1.1  环境搭建
8.1.2  工程结构
8.1.3  交叉编译
8.2  命名空间和作用域
8.2.1  命名空间
8.2.2  作用域
8.2.3  变量覆盖
8.3  包的基本概念
8.3.1  基本概念
8.3.2  包引用
8.3.3  包加载
8.4  第三方包管理
8.4.1  vendor
8.4.2  dep
第9章  编程哲学
9.1  Go语言设计哲学
9.1.1  少即是多
9.1.2  世界是并行的
9.1.3  组合优于继承
9.1.4  非侵入式的接口
9.1.5  总结
9.2  Go语言发展史
9.2.1  站在巨人的肩膀上
9.2.2  里程碑
9.3  未来
9.3.1  争议
9.3.2  Go 2

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

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

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