• 帮助有志向的年轻人通过努力学习获得体面的工作和生活

    全国免费咨询电话 : 400-609-2893

    热门8周快速入门Go语言(第1版)

    本系列书籍由老男孩教育与路飞学城讲师撰写而成,依托讲师丰富的授课经验,致力于通俗易懂的阐述Go语言的核心基础内容,是十分适宜入门阅读的书籍。
    • 书籍作者:李文周
    • 出版社 :老男孩内部出版
    • 出版时间:2019年6月4日
    • 书籍开本:16开
    • 书籍包装:平装
    • 是否套装:
    • 书籍页数:173页
    • 书号ISBN:----

    学生专享:¥0.000折¥0.00

    老男孩 Linux云计算运维 就业班正在火热招生,坐席有限,【立即抢占报名名额】

    内容简介:

      本书主要针对Go语言初学者快速入门Go语言,全书分为14章三大部分。 第一部分:其中第1章介绍了Go语言的发展历史,并详细介绍了搭建Go语言开发环境的步骤。 第2章到第10章介绍了Go语言的基础语法,第11章介绍了Go语言赖以成名的并发编程的内容。 第二部分:第12章介绍了网络编程部分的内容,自己动手实现一个HTTP Server和HTTP Client。第13章介绍了Go语言中如何进行单元测试。 第三部分:第14章重点介绍了Go语言常用的标准库如fmt、time、flag、文件操作等标准库的用法。

    作者简介:

      李文周,老男孩教育Go学科负责人 多年一线互联网开发经验,前搜狗高级开发工程师。擅长领域:Go、C、Python、JavaScript、小程序等。授课经验丰富,风趣幽默,可能是老男孩教育最严谨的老师。

    书籍目录:

    前言 1

    目录 2

    1.1 Go语言简介 14

    1.1.1 Go语言的发展历史 14

    1.1.2 Go语言的特点 14

    1.1.3 Go语言的应用 14

    1.2 安装Go语言开发工具包 15

    1.2.1 下载 15

    1.2.2 安装 15

    1.3 配置GOPATH 19

    1.4 Go语言项目结构 20

    1.5 第一个Go语言程序 21

    1.5.1 Go语言开发编辑器 21

    1.5.2 安装VSCode 21

    1.5.3 Hello world 23

    1.6 本章小结 24

    1.7 练习题 25

    第2章 Go语言基础语法 26

    2.1 Go语言语法规则 26

    2.1.1 Go语言代码结构 26

    2.1.2 Go语言语法特点 26

    2.2 标识符和关键字 27

    2.2.1 标识符 27

    2.2.2 关键字 27

    2.3 变量 27

    2.3.1 变量的来历 27

    2.3.2 变量声明 27

    2.3.3 变量的初始化 28

    2.4 常量 29

    2.4.1 常量声明 29

    2.4.2 iota 30

    2.5 本章小结 31

    第3章 基本数据类型与运算符 32

    3.1 基本数据类型 32

    3.1.1 整型 32

    3.1.2 浮点型 33

    3.1.3 复数 33

    3.1.4 布尔值 33

    3.1.5 字符串 34

    3.1.6 byte和rune类型 35

    3.2 运算符 36

    3.2.1 算数运算符 36

    3.2.2 关系运算符 37

    3.2.3 逻辑运算符 37

    3.2.4 位运算符 38

    3.2.5 赋值运算符 38

    3.3 本章小结 39

    3.4 习题 39

    第4章 流程控制 40

    4.1 if条件判断 40

    4.1.1 if else基本结构 40

    4.1.2 if判断特殊写法 40

    4.2 for循环 41

    4.2.1 for循环基本格式 41

    4.2.2 无限循环 42

    4.2.3 for range循环 42

    4.2.4 break跳出循环 42

    4.2.5 continue继续下次循环 43

    4.3 switch 43

    4.4 goto label 45

    4.5 break label 46

    4.6 continue label 46

    4.7 本章小结 46

    4.8 习题 47

    第5章 复合数据类型 48

    5.1 Array 48

    5.1.1 Array的定义 48

    5.1.2 数组的初始化 48

    5.1.3 访问数组的元素 49

    5.1.4 数组的遍历 49

    5.1.5 多维数组 50

    5.1.6 数组是值类型 51

    5.2 Slice 51

    5.2.1 切片的定义 51

    5.2.2 基于数组得到切片 52

    5.2.3 make函数构造切片 52

    5.2.4 切片的本质 53

    5.2.5 切片不能直接比较 54

    5.2.6 切片的拷贝赋值 54

    5.2.7 切片的遍历 54

    5.2.8 使用append给切片追加元素 54

    5.2.9 使用copy复制切片 56

    5.2.10 删除切片的元素 56

    5.3 Map 57

    5.3.1 Map定义 57

    5.3.2 map基本使用 57

    5.3.3 判断键是否存在 57

    5.3.4 map的遍历 58

    5.3.5 使用delete函数删除键值对 58

    5.4 本章小结 60

    5.5 习题 60

    第6章 函数 62

    6.1 函数 62

    6.1.1 函数定义 62

    6.1.2 函数调用 62

    6.1.3 函数参数 63

    6.1.4 函数返回值 64

    6.1.5 defer语句 64

    6.2 函数进阶 65

    6.2.1 变量作用域 65

    6.2.2 函数作为变量 66

    6.2.3 匿名函数 67

    6.3 闭包 67

    6.3.1 闭包的定义 67

    6.3.2 闭包的使用 67

    6.4 常用内置函数 68

    6.4.1 panic和recover 68

    6.5 本章小结 70

    6.6 习题 70

    第7章 指针和包 71

    7.1 指针 71

    7.1.1 内存地址和指针类型 71

    7.1.2 指针取值 71

    7.2 new和make 72

    7.2.1 new 73

    7.2.2 make 73

    7.3 包 74

    7.3.1 包的定义 74

    7.3.2 标识符的可见性 74

    7.3.3 包的导入 75

    7.3.4 自定义包名 75

    7.3.5 init初始化函数 75

    7.4 本章小结 76

    7.5 习题 77

    第8章 结构体 78

    8.1 结构体 78

    8.1.1 结构体定义 78

    8.1.2 结构体实例化 79

    8.1.3 匿名结构体 79

    8.1.4 结构体指针 79

    8.1.5 结构体初始化 80

    8.1.6 构造函数 81

    8.2 方法和接收者 81

    8.2.1 方法 81

    8.2.2 接收者 82

    8.2.3 任意类型添加方法 83

    8.3 结构体嵌套 84

    8.3.1 结构体匿名字段 84

    8.3.2 嵌套结构体 84

    8.3.3 结构体继承 86

    8.4 结构体与JSON 87

    8.4.1 结构体字段的可见性 87

    8.4.2 结构体与JSON 87

    8.4.3 结构体标签 88

    8.5 本章小结 89

    8.6 习题 89

    第9章 接口 90

    9.1 接口类型 90

    9.1.1 为什么要有接口 90

    9.1.2 接口的定义 91

    9.1.3 接口的实现 91

    9.1.4 值接收者和指针接收者的区别 92

    9.1.5 类型与接口的关系 93

    9.1.6 接口的嵌套 95

    9.2 空接口 95

    9.2.1 空接口的定义 95

    9.2.2 空接口的应用 96

    9.2.3 类型断言 97

    9.3 本章小结 97

    9.4 习题 98

    第10章 反射 99

    10.1 反射介绍 99

    10.1.1 为什么要使用反射 99

    10.2 reflect 99

    10.2.1 reflect.Type 100

    10.2.2 Type和Kind 100

    10.2.3 reflect.ValueOf 102

    10.2.4 结构体反射 103

    10.3 反射是把双刃剑 105

    10.4 本章小结 105

    10.5 习题 106

    第11章 并发 107

    11.1 什么是并发 107

    11.1.1 并发与并行的区别 107

    11.1.2 Go语言中的并发 107

    11.2 goroutine 107

    11.2.1 使用goroutine 107

    11.2.2 sync.WaitGroup 108

    11.2.3 启动多个goroutine 109

    11.3 goroutine与OS线程 109

    11.3.1 goroutine使用可变的栈 109

    11.3.2 goroutine由go的运行时调度 110

    11.3.3 GOMAXPROCS 110

    11.4 channel 111

    11.4.1 channel介绍 111

    11.4.2 声明channel 111

    11.4.3 初始化channel 111

    11.4.4 channel操作 112

    11.4.5 无缓冲通道 112

    11.4.6 有缓冲通道 113

    11.4.7 循环接收值 113

    11.4.8 单向通道 114

    11.4.9 select多路复用 115

    11.5 并发安全和锁 116

    11.5.1 互斥锁 116

    11.5.2 读写互斥锁 117

    11.5.3 sync.Once 118

    11.5.4 Sync.Map 119

    11.6 本章小结 121

    11.7 习题 121

    第12章 网络编程 122

    12.1 互联网协议 122

    12.1.1 互联网分层模型 122

    12.1.2 物理层 123

    12.1.3 数据链路层 123

    12.1.4 网络层 123

    12.1.5 传输层 124

    12.1.6 应用层 124

    12.2 socket编程 125

    12.2.1 socket图解 125

    12.3 Go语言实现TCP通信 126

    12.3.1 TCP协议 126

    12.3.2 TCP服务端 126

    12.3.3 TCP客户端 127

    12.4 Go语言实现UDP通信 128

    12.4.1 UDP协议 128

    12.4.2 UDP服务端 128

    12.4.3 UDP客户端 129

    12.5 Go语言实现HTTP通信 130

    12.5.1 HTTP协议 130

    12.5.2 HTTP客户端 130

    12.5.3 HTTP服务端 131

    12.6 本章小结 131

    12.7 习题 132

    13 测试 133

    13.1 go test 133

    13.2 测试函数 133

    13.2.1 测试函数格式 133

    13.2.2 测试示例 134

    13.2.3 测试组 137

    13.2.4 子测试 138

    13.2.5 测试覆盖率 140

    13.3 基准测试 141

    13.3.1 基准测试函数格式 141

    13.3.2 基准测试示例 142

    13.3.3 性能比较函数 143

    13.3.4 重置时间 145

    13.3.5 并行测试 145

    13.4 Setup与TearDown 146

    13.4.1 TestMain 146

    13.4.2 子测试的Setup与Teardown 146

    13.5 示例函数 148

    13.5.1 示例函数格式 148

    13.5.2 示例函数示例 148

    13.6 本章小结 149

    13.7 习题 149

    14 常用标准库 150

    14.1 fmt 150

    14.1.1 输出内容 150

    14.1.2 格式化占位符 151

    14.1.3 获取输入 155

    14.2 time 157

    14.2.1 时间类型 157

    14.2.2 时间戳 158

    14.2.3 时间间隔 158

    14.2.4 时间操作 159

    14.2.5 定时器 159

    14.2.6 时间格式化 159

    14.3 strconv 160

    14.3.1 string与int类型转换 160

    14.3.2 Parse系列函数 160

    14.3.3 Format系列函数 161

    14.4 flag 162

    14.4.1 os.Args 162

    14.4.2 flag参数类型 163

    14.4.3 定义flag参数 163

    14.4.4 解析flag参数 163

    14.4.5 flag包其他函数 164

    14.4.6 完整示例 164

    14.5 log 165

    14.5.1 使用logger 165

    14.5.2 配置logger 166

    14.5.3 配置日志前缀 166

    14.5.4 配置日志输出位置 167

    14.5.5 创建logger 167

    14.6 文件操作 168

    14.6.1 打开和关闭文件 168

    14.6.2 读取文件 168

    14.6.3 bufio 170

    14.6.4 ioutil 170

    14.6.5 打开文件 171

    14.6.6 Write和WriteString 171

    14.6.7 bufio.NewWriter 172

    14.6.8 ioutil.WriteFile 172

    14.7 本章小结 172

    14.8 习题 172

    是时候去做成一件事了 174

    书籍前言:

      我与Go语言

      我接触Go语言是在2016年的时候,那时候我还在搜狗上班,当时我在工作中还是写Python和JavaScript为主。一个偶然的机会接触到Go语言,它作为一门静态编译型的语言,编译之后几乎无依赖的特点,深深地吸引了我,当时一下子就觉着这才是我想要的语言。

      后来就开始慢慢学习Go语言了,并且尝试着去编写一些业务代码。当时网上还没有很多关于Go语言的学习资料,我记得我是在github上找到了一些网友自发翻译的Go语言圣经,我拿着PDF去学院路的一家打印店花了20多块钱打印了出来,从那以后上下班的地铁上都是这本书陪着我。

      后面我又在网上看了无闻的教学视频,我记得有两个系列一个是Go语言基础,还有名库讲解,我也学到了很多。感谢无闻大大。

      现在Go语言及其生态的发展已经越来越完善,越来越多的公司也选择Go语言作为主开发语言,Go语言之所以能发展这么快,肯定离不开无数热心的Gopher为Go社区做的贡献。工作之余我也开始尝试写一些Go语言的博客,录制一些Go语言的视频教程,我也想给Go社区做一些自己力所能及的贡献。

      本书是我将之前发布在博客上的文章重新整理而成,希望能帮助到更多的Go语言初学者。但由于水平有限、并且时间仓促,书中难免有错误之处,如能得到您的宝贵建议,将感激不尽。

      本书示例代码及习题答案请加QQ群:745470832索取。

    中彩堂ZZYZ,CCZZYx,usr2020开奖记录手机版2020六开彩开奖结果2020香港开奖结果2020香港马会开奖结果-六开彩开奖现场直播吧 龙井市| 永定县| 龙里县| 吉安县| 保德县| 景泰县| 定结县| 伊川县| 哈巴河县| 宜黄县| 和林格尔县| 兴宁市| 出国| 东丰县| 屯留县| 大足县| 延庆县| 大冶市| 泰和县| 绥芬河市| 长岛县| 镇安县| 博客| 鄂托克前旗| 澄迈县| 屏南县| 阳春市| 肥乡县| 广南县| 金溪县| 绥阳县| 襄汾县| 桑日县| 汾西县| 界首市| 苏尼特右旗| 罗山县| 永安市| 石狮市| 霍邱县| 贵州省| 福安市| 和平区| 黄陵县| 黑龙江省| 海城市| 原阳县| 石景山区| 易门县| 巴马| 武夷山市| 鲜城| 静乐县| 聊城市| 浦城县| 三亚市| 玉山县| 龙山县| 锡林郭勒盟| 崇礼县| 岳阳市| 水城县| 柞水县| 安塞县| 固原市| 静海县| 乌拉特中旗| 民乐县| 定安县| 富裕县| 金平| 噶尔县| 炎陵县| 开远市| 图片| 汤原县| 洛南县| 台中县| 福清市| 泽库县| 平昌县| 莒南县| 连云港市| 浮山县| 鄱阳县| 达孜县| 长乐市| 化州市| 德江县| 沅江市| 道孚县| 嘉鱼县| 松江区| 东港市| 呼图壁县| 元氏县| 镇平县| 浦东新区| 湘西| 高雄市| 洛阳市| 兴文县| 兴隆县| 公主岭市| 普格县| 新泰市| 鄂尔多斯市| 铁岭县| 荥经县| 辽源市| 陇南市| 赤城县| 始兴县| 阿克陶县| 中宁县| 建阳市| 英德市| 吴川市| 宁乡县| 福建省| 铁岭市| 香河县| 夏河县| 海晏县| 项城市| 临清市| 长丰县| 来安县| 赣榆县| 东源县| 冀州市| 张北县| 塘沽区| 社会| 临猗县| 嘉黎县| 安远县| 尚义县| 云浮市| 云林县| 长垣县| 潞城市| 克东县| 平度市| 明水县| 大石桥市| 景泰县| 昌都县| 潮州市| 武夷山市| 昭通市| 扎鲁特旗| 靖江市| 辉县市| 大英县| 霸州市| 霞浦县| 安丘市| 同心县| 南和县| 金山区| 霍林郭勒市| 多伦县| 神木县| 莆田市| 油尖旺区| 竹北市| 东山县| 钟山县| 武邑县| 民权县| 连平县| 湖北省| 绥宁县| 武陟县| 密云县| 治多县| 衡阳市| 海伦市| 宜章县| 庆安县| 云龙县| 和田县| 顺昌县| 广水市| 剑阁县| 历史| 苏州市| 太和县| 东乡| 洪湖市| 尚志市| 嘉峪关市| 交城县| 南溪县| 娄烦县| 涡阳县| 沈丘县| 宝丰县| 平南县| 伽师县| 土默特左旗| 金门县| 海丰县| 秭归县| 陆河县| 前郭尔| 那曲县| 荥阳市| 乌鲁木齐市| 肃宁县| 铅山县| 和政县| 延津县| 乌苏市| 海原县| 静乐县| 麟游县| 巨鹿县| 哈巴河县| 普陀区| 中阳县| 当雄县| 遂昌县| 花莲市| 信阳市| 辽中县| 谢通门县| 兴义市| 五家渠市| 五大连池市| 汝城县| 岳池县| 安庆市| 建昌县| 喀喇| 威宁| 张家界市| 淳化县| 广饶县| 德江县| 安国市| 绍兴县| 奇台县| 巴南区| 马山县| 阿克苏市| 道孚县| 扎兰屯市| 肃南| 平舆县| 武宁县| 饶阳县| 凌云县| 右玉县| 冷水江市| 洛南县| 杭州市| 阳新县| 青神县| 东明县| 营口市| 高清| 武鸣县| 台山市| 衡水市| 渑池县| 玛曲县| 漳浦县| 育儿| 普兰店市| 游戏| 达孜县| 绵阳市| 姚安县| 克拉玛依市| 大宁县| 长丰县| 德州市| 温州市| 海原县| 平原县| 贡觉县| 六安市| 元阳县| 江都市| 邵东县| 元氏县| 牡丹江市| 平山县| 敦化市| 永州市| 营山县| 会宁县| 黄大仙区| 济源市| 闻喜县| 青龙| 仪征市| 伊宁市| 吉安县| 勐海县| 外汇| 三穗县| 三原县| 莲花县| 九寨沟县| 株洲县| 紫阳县| 文山县| 茶陵县| 铜山县| 泗洪县| 乌恰县| 西平县| 新绛县| 美姑县| 东乌珠穆沁旗| 永顺县| 河池市| 镇原县| 南投县| 朔州市| 普洱| 南溪县| 景洪市| 潍坊市| 桐乡市| 永年县| 普兰县| 集贤县| 封开县| 蒲城县| 大宁县| 无锡市| 修水县| 古田县| 平潭县| 永定县| 长岛县| 兖州市| 汝州市| 彩票| 开鲁县| 水城县| 阿拉善左旗| 甘孜| 五家渠市| 于田县| 涿鹿县| 朝阳市| 崇文区| 涪陵区| 安龙县| 隆德县| 息烽县| 钟山县| 大渡口区| 垣曲县| 资阳市| 桑植县| 泰和县| 成安县| 滨州市| 江达县| 包头市| 桦甸市| 湖州市| 彭泽县| 永康市| 东海县| 棋牌| 法库县| 永登县| 奎屯市| 南平市| 集安市| 江北区| 中宁县| 绥化市| 建湖县| 宜春市| 林口县| 鹤岗市| 和政县| 蓬安县| 天台县| 哈巴河县| 曲阳县| 始兴县| 凌海市| 铜梁县| 盐山县| 太谷县| 濉溪县| 双流县| 怀来县| 阜城县| 安远县| 五大连池市| 五大连池市| 黄浦区| 台南县| 墨竹工卡县| 彭州市| 当涂县| 延边| 巴中市| 莎车县| 繁峙县| 赤城县| 浙江省| 泸州市| 皋兰县| 兰坪| 琼海市| 南城县| 芮城县| 贵定县| 嫩江县| 昌宁县| 阿拉善盟| 钟祥市| 商南县| 呼伦贝尔市| 蓬安县| 姚安县| 疏附县| 和田市| 八宿县| 红河县| 汝阳县| 石景山区| 邓州市| 囊谦县| 达州市| 西青区| 闵行区| 孝感市| 根河市| 宾阳县| 绵竹市| 正定县| 巴林左旗| 皮山县| 鲁甸县| 陇南市| 门源| 乌拉特中旗| 镶黄旗| 永善县| 湖北省| 东城区| 衡山县| 勃利县| 金昌市| 南汇区| 松原市| 科技| 昌吉市| 大同县| 乌拉特中旗| 永兴县| 东安县| 阿巴嘎旗| 从江县| 甘孜县| 富锦市| 东光县| 望城县| 马公市| 恩平市| 商南县| 宝坻区| 寻甸| 凤冈县| 云龙县| 衡山县| 凭祥市| 万源市| 莱阳市| 霍林郭勒市| 新和县| 长沙县| 库车县| 庆安县| 青川县| 邵阳市| 左贡县| 桃园市| 盐津县| 龙山县| 开阳县| 米易县| 呼玛县| 彭水| 湘潭县| 和林格尔县| 甘肃省| 永善县| 龙游县| 电白县| 新化县| 鲁甸县| 乌什县| 泽库县| 陆良县| 延川县| 海南省| 钦州市| 永福县| 德保县| 建昌县| 隆德县| 潮州市| 库车县| 杂多县| 盐城市| 上蔡县| 阳江市| 泾阳县| 新竹县| 奉贤区| 连云港市| 巴林左旗| 襄城县| 施秉县| 周至县| 开化县| 灵寿县| 祁阳县| 伊金霍洛旗| 广河县| 鄂尔多斯市| 宾阳县| 连南| 大化| 崇信县| 陈巴尔虎旗| 成武县| 茌平县| 黎川县| 虹口区| 新沂市| 邮箱| 玉林市| 乌审旗| 石河子市| 绍兴县| 禹城市| 梁平县| 高碑店市| 嫩江县| 郴州市| 阿图什市| 五常市| 都昌县| 咸宁市| 德安县| 鄱阳县| 牙克石市| 江城| 渝中区| 奉贤区| 鄂伦春自治旗| 曲麻莱县| 赤壁市| 左贡县| 曲阳县| 赣榆县| 如东县| 缙云县| 邹平县| 呈贡县| 阳西县| 丰县| 梁河县| 邵阳县| 林州市| 柏乡县| 新邵县| 马关县| 五家渠市| 浦城县| 屯昌县| 翼城县| 永顺县| 保靖县| 泸州市| 兴业县| 惠州市| 余干县| 凉城县| 民和| 江源县| 金昌市| 桃江县| 临夏县| 义马市| 天祝| 云林县| 醴陵市| 淳化县| 察哈| 东乡| 元阳县| 兴山县| 沁阳市| 安化县| 宿迁市| 曲阳县| 蓝田县| 萍乡市| 阿克苏市| 桂林市| http://jx1870hirev.fun http://m.jx1870juzpv.fun http://www.jx1870generatev.fun http://wap.jx1870guidev.fun http://wap.jx1870growv.fun http://wap.jx1870golfv.fun http://jx1870includev.fun http://m.hz0j0r5vo.fun http://hz0j0r8vo.fun http://www.jx1870fatv.fun http://m.jx1870feev.fun http://jx1870findv.fun http://wap.jx1870exercisev.fun http://www.jx1870foundv.fun http://m.jx1870exchangev.fun http://wap.jx1870exportv.fun http://m.jx1870interviewv.fun http://wap.jx1870flyv.fun