奇迹小说
搜索历史
Go语言精进之路:从新手到高手的编程思想、方法和技巧1

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

作者: 白明

22.69万34人 正在读

已完结现代当代当代文学
作品简介

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)工具链与工程

目录 (108章)
倒序
正文
001 .3 使用init函数检查包级变量的初始状态002 第21条 让自己习惯于函数是“一等公民”003 .1 什么是“一等公民”004 .2 函数作为“一等公民”的特殊运用(1)005 .2 函数作为“一等公民”的特殊运用(2)006 .2 函数作为“一等公民”的特殊运用(3)007 第22条 使用defer让函数更简洁、更健壮008 .1 defer的运作机制009 .2 defer的常见用法010 .3 关于defer的几个关键问题(1)011 .3 关于defer的几个关键问题(2)012 第23条 理解方法的本质以选择正确的receiver类型013 .1 方法的本质014 .2 选择正确的receiver类型015 .3 基于对Go方法本质的理解巧解难题016 第24条 方法集合决定接口实现017 .1 方法集合018 .2 类型嵌入与方法集合(1)019 .2 类型嵌入与方法集合(2)020 .2 类型嵌入与方法集合(3)021 .3 defined类型的方法集合022 .4 类型别名的方法集合023 第25条 了解变长参数函数的妙用024 .1 什么是变长参数函数025 .2 模拟函数重载026 .3 模拟实现函数的可选参数与默认参数027 .4 实现功能选项模式(1)028 .4 实现功能选项模式(2)029 第26条 了解接口类型变量的内部表示030 .1 nil error值!= nil031 .2 接口类型变量的内部表示(1)032 .2 接口类型变量的内部表示(2)033 .3 输出接口类型变量内部表示的详细信息034 .4 接口类型的装箱原理(1)035 .4 接口类型的装箱原理(2)036 第27条 尽量定义小接口037 .1 Go推荐定义小接口038 .2 小接口的优势039 .3 定义小接口可以遵循的一些点040 第28条 尽量避免使用空接口作为函数参数类型041 第29条 使用接口作为程序水平组合的连接点042 .1 一切皆组合043 .2 垂直组合回顾044 .3 以接口为连接点的水平组合045 第30条 使用接口提高代码的可测试性046 .1 实现一个附加免责声明的电子邮件发送函数047 .2 使用接口来降低耦合048 第31条 优先考虑并发设计049 .1 并发与并行050 .2 Go并发设计实例(1)051 .2 Go并发设计实例(2)052 .2 Go并发设计实例(3)053 第32条 了解goroutine的调度原理054 .1 goroutine调度器055 .2 goroutine调度模型与演进过程056 .3 对goroutine调度器原理的进一步理解057 .4 调度器状态的查看方法058 .5 goroutine调度实例简要分析(1)059 .5 goroutine调度实例简要分析(2)060 .5 goroutine调度实例简要分析(3)061 第33条 掌握Go并发模型和常见并发模式062 .1 Go并发模型063 .2 Go常见的并发模式(1)064 .2 Go常见的并发模式(2)065 .2 Go常见的并发模式(3)066 .2 Go常见的并发模式(4)067 .2 Go常见的并发模式(5)068 .2 Go常见的并发模式(6)069 .2 Go常见的并发模式(7)070 .2 Go常见的并发模式(8)071 第34条 了解channel的妙用072 .1 无缓冲channel(1)073 .1 无缓冲channel(2)074 .1 无缓冲channel(3)075 .2 带缓冲channel(1)076 .2 带缓冲channel(2)077 .2 带缓冲channel(3)078 .3 nil channel的妙用079 .4 与select结合使用的一些惯用法080 第35条 了解sync包的正确用法081 .1 sync包还是channel082 .2 使用sync包的注意事项083 .3 互斥锁还是读写锁084 .4 条件变量085 .5 使用sync.Once实现单例模式086 .6 使用sync.Pool减轻垃圾回收压力087 第36条 使用atomic包实现伸缩性更好的并发读取088 .1 atomic包与原子操作089 .2 对共享整型变量的无锁读写090 .3 对共享自定义类型变量的无锁读写091 第37条 了解错误处理的4种策略092 .1 构造错误值093 .2 透明错误处理策略094 .3 “哨兵”错误处理策略095 .4 错误值类型检视策略096 .5 错误行为特征检视策略097 第38条 尽量优化反复出现的if err != nil098 .1 两种观点099 .2 尽量优化100 .3 优化思路(1)101 .3 优化思路(2)102 .3 优化思路(3)103 第39条 不要使用panic进行正常的错误处理104 .1 Go的panic不是Java的checked exception105 .2 panic的典型应用(1)106 .2 panic的典型应用(2)107 .3 理解panic的输出信息(1)108 .3 理解panic的输出信息(2)
精选推荐
销售心理学

销售心理学

[中国纺织出版社]

兰华

已完结当代文学

销售就是玩转情商

销售就是玩转情商

[中国纺织出版社]

王威

已完结当代文学

销售员情商实战训练

销售员情商实战训练

成功的销售需要高智商,更需要高情商。一个销售员的销售业绩,往往与他的情商成正比。本书从十个方面详细讲述了有效运用情商,提高销售业绩的方法和技巧。通过实际销售案例和销售心理学理论指导,以及实战点拨和情商拓展训练,帮助读者全方位、快速提高情商。故事性、多版块、碎片化的内容设置,有效降低读者阅读疲劳,提高阅读兴趣,不论是奔波在路上的销售小白,还是带领团队奋勇向前的销售经理,都能从中找到适合自己的销售软技巧。

刘军

已完结当代文学

让未来的你,感谢现在勇敢的自己

让未来的你,感谢现在勇敢的自己

[中国纺织出版社]

王介威

已完结当代文学

行为心理学入门(完全图解版)

行为心理学入门(完全图解版)

行为心理学入门(完全图解版)是以作者多来年的心理辅导和咨询数据为素材,对现实生活中的行为心理学应用进行了形象、深入、全面的论述和解读。本书与日本心理学图解书形式相同,浅显易读,有趣又益。

武莉

已完结当代文学

自制力:道理我都懂,为什么就是过不好人生

自制力:道理我都懂,为什么就是过不好人生

[中国纺织出版社]

邱开杰

已完结当代文学

能力与格局

能力与格局

[中国纺织出版社]

龙泽

已完结当代文学

羊皮卷

羊皮卷

[中国纺织出版社]

赵文武

已完结当代文学

组织领导力:组织高效运营与领导策略

组织领导力:组织高效运营与领导策略

[中国纺织出版社]

谢良鸿

已完结当代文学