您好,欢迎光临有路网!
Go语言精进之路:从新手到高手的编程思想、方法和技巧 2
QQ咨询:
有路璐璐:

Go语言精进之路:从新手到高手的编程思想、方法和技巧 2

  • 作者:白明
  • 出版社:机械工业出版社
  • ISBN:9787111698227
  • 出版日期:2021年12月01日
  • 页数:0
  • 定价:¥119.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    • 出版社
    • ISBN
      9787111698227
    • 作者
    • 页数
      0
    • 出版时间
      2021年12月01日
    • 定价
      ¥119.00
    • 所属分类
    内容提要
    Go入门容易,精进难,如何才能像Go开发团队那样写出符合Go思维和语言惯例的高质量代码呢? 本书将从编程思维和实践技巧2个维度给出答案,帮助你在Go进阶的路上事半功倍。 编程思维层面 只有真正领悟了一门语言的设计哲学和编程思维,并能将之用于实践,才算精通了这门语言。本书从Go语言设计者的视角对Go背后的设计哲学和编程思想进行了梳理和分析,指引读者体会那些看似随意实则经过深思熟虑的设计背后的秘密。 实践技巧层面 实践技巧源于对Go开发团队和Go社区开发的高质量代码的阅读、挖掘和归纳,从项目结构、代码风格、语法及其实现、接口、并发、同步、错误与异常处理、测试与调试、性能优化、标准库、第三方库、工具链、Z佳实践、工程实践等多个方面给出了改善Go代码质量、写出符合 Go 思维和惯例的代码的有效实践。 全书的内容覆盖如下10个大类,共66个主题,字字珠玑,句句箴言。 (1)Go语言的一切 (2)项目结构、代码风格与标识符命名 (3)声明、类型、语句与控制结构 (4)函数与方法 (5)接口 (6)并发编程 (7)错误处理 (8)测试、性能剖析与调试 (9)标准库、反射与cgo (10)工具链与工程
    目录
    【本书分1、2两册。此链接为第2册,包含第8~10部分内容】 第1~7部分内容,请进本书第1册链接单独购买 ---------------------------------------- 【以下为本书(第2册)内容】 ●第八部分 测试、性能剖析与调试 第40条 理解包内测试与包外测试的差别 40.1 官方文档的“自相矛盾” 40.2 包内测试与包��测试 第41条 有层次地组织测试代码 41.1 经典模式—平铺 41.2 xUnit家族模式 41.3 测试固件 第42条 优先编写表驱动的测试 42.1 Go测试代码的一般逻辑 42.2 表驱动的测试实践 42.3 表驱动测试的优点 42.4 表驱动测试实践中的注意事项 第43条 使用testdata管理测试依赖的外部数据文件 43.1 testdata目录 43.2 golden文件惯用法 第44条 正确运用fake、stub和mock等辅助单元测试 44.1 fake:真实组件或服务的简化实现版替身 44.2 stub:对返回结果有一定预设控制能力的替身 44.3 mock:专用于行为观察和验证的替身 第45条 使用模糊测试让潜在bug无处遁形 45.1 模糊测试在挖掘Go代码的潜在bug中的作用 45.2 go-fuzz的初步工作原理 45.3 go-fuzz使用方法 45.4 使用go-fuzz建立模糊测试的示例 45.5 让模糊测试成为“一等公民” 第46条 为被测对象建立性能基准 46.1 性能基准测试在Go语言中是“一等公民” 46.2 顺序执行和并行执行的性能基准测试 46.3 使用性能基准比较工具 46.4 排除额外干扰,让基准测试更** 第47条 使用pprof对程序进行性能剖析 47.1 pprof的工作原理 47.2 使用pprof进行性能剖析的实例 第48条 使用expvar输出度量数据,辅助定位性能瓶颈点 48.1 expvar包的工作原理 48.2 自定义应用通过expvar输出的度量数据 48.3 输出数据的展示 第49条 使用Delve调试Go代码 49.1 关于调试,你首先应该知道的几件事 49.2 Go调试工具的选择 49.3 Delve调试基础、原理与架构 49.4 并发、Coredump文件与挂接进程调试 ●第九部分 标准库、反射与cgo 第50条 理解Go TCP Socket网络编程模型 50.1 TCP Socket网络编程模型 50.2 TCP连接的建立 50.3 Socket读写 50.4 Socket属性 50.5 关闭连接 第51条 使用net/http包实现**通信 51.1 HTTPS:在**传输层上运行的HTTP协议 51.2 HTTPS**传输层的工作机制 51.3 非对称加密和公钥证书 51.4 对服务端公钥证书的校验 51.5 对客户端公钥证书的校验 第52条 掌握字符集的原理和字符 编码方案间的转换 52.1 字符与字符集 52.2 Unicode字符集的诞生与UTF-8编码方案 52.3 字符编码方案间的转换 第53条 掌握使用time包的正确方式 53.1 时间的基础操作 53.2 时间的格式化输出 53.3 定时器的使用 第54条 不要忽略对系统信号的处理 54.1 为什么不能忽略对系统信号的处理 54.2 Go语言对系统信号处理的支持 54.3 使用系统信号实现程序的优雅退出 第55条 使用crypto下的密码学包构建**应用 55.1 Go密码学包概览与设计原则 55.2 分组密码算法 55.3 公钥密码 55.4 单向散列函数 55.5 消息认证码 55.6 数字签名 55.7 随机数生成 第56条 掌握bytes包和strings包的基本操作 56.1 查找与替换 56.2 比较 56.3 分割 56.4 拼接 56.5 修剪与变换 56.6 快速对接I/O模型 第57条 理解标准库的读写模型 57.1 直接读写字节序列 57.2 直接读写抽象数据类型实例 57.3 通过包裹类型读写数据 第58条 掌握unsafe包的**使用模式 58.1 简洁的unsafe包 58.2 unsafe包的典型应用 58.3 正确理解unsafe.Pointer与uintptr 58.4 unsafe.Pointer的**使用模式 第59条 谨慎使用reflect包提供的反射能力 59.1 Go反射的三大法则 59.2 反射世界的入口 59.3 反射世界的出口 59.4 输出参数、interface{}类型变量及反射对象的可设置性 第60条 了解cgo的原理和使用开销 60.1 Go调用C代码的原理 60.2 在Go中使用C语言的类型 60.3 在Go中链接外部C库 60.4 在C中使用Go函数 60.5 使用cgo的开销 60.6 使用cgo代码的静态构建 ●第十部分 工具链与工程实践 第61条 使用module管理包依赖 61.1 Go语言包管理演进回顾 61.2 Go module:Go包依赖管理的生产标准 61.3 Go module代理 61.4 升级module的主版本号 第62条 构建小Go程序容器镜像 62.1 镜像:继承中的创新 62.2 “镜像是个筐”:初学者的认知 62.3 理性回归:builder模式的崛起 62.4 “像赛车那样减重”:追求小镜像 62.5 “要有光”:对多阶段构建的支持 第63条 自定义Go包的导入路径 63.1 govanityurls 63.2 使用govanityurls 第64条 熟练掌握Go常用工具 64.1 获取与安装 64.2 包或module检视 64.3 构建 64.4 运行与诊断 64.5 格式化与静态代码检查 64.6 重构 64.7 查看文档 64.8 代码导航与洞察 第65条 使用go generate驱动代码生成“驱动器” 65.2 go generate的工作原理 65.3 go generate的应用场景 第66条 牢记Go的常见“陷阱” 66.1 语法规范类 66.2 标准库类 【本购买链接为第2册购买链接,仅包含以上第8~10部分内容】

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外