标签分类
当前位置:首页 > 程序设计电子书 > Go语言电子书网盘下载
Go语言编程入门与实战技巧 Go语言编程入门与实战技巧
floola

floola 提供上传

资源
10
粉丝
20
喜欢
185
评论
19

    Go语言编程入门与实战技巧 PDF 详细书签版

    Go语言电子书
    • 发布时间:

    给大家带来的一篇关于Go语言相关的电子书资源,介绍了关于Go语言、编程入门、实战、Go语言技巧方面的内容,本书是由电子工业出版社出版,格式为PDF,资源大小165.4 MB,黄靖钧编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:9.8,更多相关的学习资源可以参阅 程序设计电子书、等栏目。

  • Go语言编程入门与实战技巧 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1kNhodvCW2xm9st4985IwBA
  • 分享码:j7p1
  • Go语言编程入门与实战技巧 PDF

    管理体系详细:根据142个实例,包揽Go語言的关键作用

    由浅入深:从基础英语的语法到网络编程,条理清楚,明显提高

    好用参照:包含18个常见标准库,深度1解读Go的实战经验

    基本原理分析:深层次了解Go語言源代码保持,掌握程序流程提升方式

    Go语言编程入门与实战技巧》从內容上分成三绝大多数,*一部分关键详细介绍Go語言的基本知识,包含Go語言的安裝和开发环境,详细介绍了Go語言的特点与合适的情景,随后解读了Go語言的程序结构和数据类型,并对于涵数和某些关键词的使用方法与数据类型的启用基本原理干了论述。其次一部分详细介绍了Go語言数据结构和标准库,联系实际应用领域讨论了平时环境会碰到的难题与解决方案。最后一部分关键详细介绍Go語言的检测工具和使用方法,并重中之重解读了Go語言的运行内存管理模式,深层次了解Go語言的布置社会学,掌握Go語言最底层的内存管理和高并发体制,为再进一步的学习培训拿下牢靠的基本。这书合适对医学论文排版特别是在是对Go编程语言很感兴趣的初学者做为入门教程阅读文章,还合适想在Web开发设计行业有一定的发展趋势的程序员学习。

    目录

    • 第1章 认识Go语言 1
    • 1.1 Go语言简介 1
    • 1.1.1 Go语言简史 1
    • 1.1.2 Go语言特性 2
    • 1.1.3 谁适合使用Go语言 2
    • 1.2 Go语言的开发环境部署 3
    • 1.2.1 Go语言环境变量 3
    • 1.2.2 在Linux上安装Go语言环境 3
    • 1.2.3 在Mac OS上安装Go语言环境 5
    • 1.2.4 在Windows上安装Go语言环境 5
    • 1.3 Go语言的基本命令及使用 5
    • 1.3.1 GOROOT结构 6
    • 1.3.2 GOPATH结构 7
    • 1.3.3 Go语言命令行参数 8
    • 1.3.4 第一个Go语言程序 12
    • 1.4 Go语言的开发工具 14
    • 1.4.1 Code/Atom 14
    • 1.4.2 VIM-Go 17
    • 1.4.3 Gogland 18
    • 1.4.4 LiteIDE 18
    • 1.4.5 Cloud IDE 19
    • 1.5 本章小结 23
    • 第2章 程序结构 24
    • 2.1 Go语言程序元素 24
    • 2.1.1 标识符 24
    • 2.1.2 关键字 25
    • 2.1.3 字面量 25
    • 2.1.4 分隔符 25
    • 2.1.5 运算符 26
    • 2.1.6 注释 27
    • 2.2 Go语言基本概念 28
    • 2.2.1 常量 28
    • 2.2.2 变量 32
    • 2.3 本章小结 37
    • 第3章 基础数据类型 38
    • 3.1 整型 39
    • 3.1.1 整型的表示 39
    • 3.1.2 整型的运算 39
    • 3.2 浮点型 41
    • 3.2.1 浮点型的表示 41
    • 3.2.2 浮点型的运算 42
    • 3.2.3 复数 42
    • 3.3 字符与字符串 44
    • 3.3.1 字符串的表示 44
    • 3.3.2 操作字符串 46
    • 3.3.3 字符串格式化 60
    • 3.4 布尔型 61
    • 3.4.1 布尔型的表示 61
    • 3.4.2 布尔型的运算 62
    • 3.5 基本数据类型的扩展 63
    • 3.5.1 强制类型转换 63
    • 3.5.2 自定义类型 64
    • 3.5.3 类型别名 64
    • 3.5.4 指针 65
    • 3.6 本章小结 69
    • 第4章 流程控制 70
    • 4.1 条件语句 70
    • 4.1.1 if判断 71
    • 4.1.2 if-else判断 71
    • 4.1.3 else-if判断 73
    • 4.1.4 初始化子语句 74
    • 4.2 选择语句 75
    • 4.2.1 switch语句 75
    • 4.2.2 switch初始化语句 78
    • 4.2.3 select语句 79
    • 4.3 循环语句 80
    • 4.3.1 for的子语句 81
    • 4.3.2 range子语句 82
    • 4.4 延迟语句 84
    • 4.5 标签 87
    • 4.5.1 break 87
    • 4.5.2 continue 89
    • 4.5.3 goto 90
    • 4.6 本章小结 91
    • 第5章 函数 92
    • 5.1 认识函数 92
    • 5.1.1 函数的声明 92
    • 5.1.2 函数的参数 93
    • 5.1.3 函数的返回值 94
    • 5.2 函数的基础 95
    • 5.2.1 多返回值 96
    • 5.2.2 函数作为参数 97
    • 5.2.3 函数作为类型 98
    • 5.2.4 可变参数 99
    • 5.2.5 匿名函数与闭包 102
    • 5.2.6 递归函数 106
    • 5.2.7 内置函数 108
    • 5.3 函数进阶 108
    • 5.3.1 参数传递机制 108
    • 5.3.2 defer与跟踪 111
    • 5.3.3 错误与恢复 116
    • 5.4 本章小结 122
    • 第6章 复合数据类型 123
    • 6.1 数组 123
    • 6.1.1 声明数组 123
    • 6.1.2 访问与修改 124
    • 6.1.3 多维数组 126
    • 6.1.4 将数组传递给函数 127
    • 6.2 切片 128
    • 6.2.1 创建数组切片 129
    • 6.2.2 切片的使用 131
    • 6.2.3 多维切片 137
    • 6.2.4 将切片传递给函数 137
    • 6.3 映射 138
    • 6.3.1 映射的实现 138
    • 6.3.2 映射的创建 139
    • 6.3.3 映射的使用 139
    • 6.3.4 将映射传递给函数 141
    • 6.4 本章小结 142
    • 第7章 包 144
    • 7.1 包的基础 144
    • 7.1.1 包的结构 146
    • 7.1.2 包的导入 147
    • 7.1.3 包的使用 153
    • 7.1.4 Go语言工具箱 154
    • 7.2 自定义包 156
    • 7.2.1 包的制作 157
    • 7.2.2 特定平台的代码 157
    • 7.2.3 godoc生成文档 158
    • 7.2.4 包的打包与发布 159
    • 7.2.5 自定义包的导入 164
    • 7.3 本章小结 165
    • 第8章 结构体与方法 166
    • 8.1 结构体 166
    • 8.1.1 结构体定义 166
    • 8.1.2 结构体使用 172
    • 8.1.3 带标签的结构体 175
    • 8.1.4 匿名字段和内嵌结构体 176
    • 8.2 类型系统 179
    • 8.2.1 用户自定义类型 179
    • 8.2.2 值语义和引用语义 182
    • 8.3 方法 184
    • 8.3.1 方法声明 184
    • 8.3.2 为类型添加方法 187
    • 8.3.3 工厂方法创建结构体 188
    • 8.3.4 基于指针对象的方法 190
    • 8.3.5 方法值和方法表达式 191
    • 8.3.6 方法和未导出字段 193
    • 8.3.7 嵌入类型的方法和继承 194
    • 8.4 本章小结 197
    • 第9章 接口与反射 198
    • 9.1 接口 198
    • 9.1.1 接口是什么 199
    • 9.1.2 接口类型与约定 204
    • 9.1.3 接口实现 208
    • 9.1.4 嵌套接口 210
    • 9.1.5 接口赋值 211
    • 9.1.6 接口查询 213
    • 9.1.7 接口组合 214
    • 9.2 反射 215
    • 9.2.1 方法和类型的反射 215
    • 9.2.2 通过反射修改设置值 216
    • 9.2.3 反射结构 218
    • 9.2.4 Printf和反射 220
    • 9.3 本章小结 222
    • 第10章 并发编程 223
    • 10.1 并发编程基础 223
    • 10.1.1 并发与并行 223
    • 10.1.2 指定使用核心数 225
    • 10.2 协程(goroutine) 227
    • 10.2.1 协程基础 228
    • 10.2.2 协程间通信 229
    • 10.3 通道(channel) 231
    • 10.3.1 基本语法 232
    • 10.3.2 select 232
    • 10.3.3 缓冲机制 233
    • 10.3.4 超时和计时器 234
    • 10.3.5 channel的传递 235
    • 10.3.6 单向channel 236
    • 10.3.7 关闭channel 237
    • 10.4 并发进阶 237
    • 10.4.1 多核并行化 237
    • 10.4.2 协程同步 239
    • 10.4.3 协程和恢复 242
    • 10.5 本章小结 243
    • 第11章 网络编程 244
    • 11.1 Socket编程 244
    • 11.1.1 什么是Socket 244
    • 11.1.2 Dial()函数 246
    • 11.1.3 ICMP示例 247
    • 11.1.4 TCP Socket 249
    • 11.1.5 UDP Socket 253
    • 11.2 HTTP编程 255
    • 11.2.1 HTTP客户端 255
    • 11.2.2 HTTP服务器端 260
    • 11.3 RPC编程 262
    • 11.3.1 Go RPC 263
    • 11.3.2 HTTP RPC 263
    • 11.3.3 TCP RPC 266
    • 11.3.4 JSON RPC 268
    • 11.3.5 RPC接口 271
    • 11.4 数据库 272
    • 11.4.1 database/sql接口 272
    • 11.4.2 使用MySQL数据库 277
    • 11.4.3 使用SQLite数据库 280
    • 11.4.4 使用PostgreSQL数据库 282
    • 11.4.5 NoSQL数据库操作 286
    • 11.5 Go语言使用Cookie 287
    • 11.5.1 设置Cookie 287
    • 11.5.2 读取Cookie 288
    • 11.6 本章小结 288
    • 第12章 I/O编程 289
    • 12.1 输入/输出 289
    • 12.1.1 io:基本I/O接口 289
    • 12.1.2 fmt:格式化I/O 292
    • 12.1.3 文本处理 298
    • 12.2 文件系统 298
    • 12.2.1 os:系统功能实现 298
    • 12.2.2 path:兼容路径操作 299
    • 12.3 数据结构与算法 303
    • 12.3.1 排序 304
    • 12.3.2 container 310
    • 12.4 本章小结 314
    • 第13章 文件处理 315
    • 13.1 文件操作 315
    • 13.1.1 创建文件与查看状态 316
    • 13.1.2 重命名与移动 319
    • 13.1.3 打开与关闭 319
    • 13.1.4 删除与截断 321
    • 13.1.5 读写文件 321
    • 13.1.6 权限控制 325
    • 13.1.7 文件链接 328
    • 13.2 XML处理 330
    • 13.2.1 解析XML 330
    • 13.2.2 生成XML 333
    • 13.3 JSON处理 336
    • 13.3.1 解析JSON 336
    • 13.3.2 生成JSON 338
    • 13.4 日志记录 340
    • 13.4.1 Logrus 341
    • 13.4.2 Seelog 342
    • 13.5 压缩 343
    • 13.5.1 打包与解包 343
    • 13.5.2 压缩与解压 345
    • 13.6 本章小结 347
    • 第14章 安全与测试 348
    • 14.1 安全 348
    • 14.1.1 安全相关的基础概念 348
    • 14.1.2 通信安全 350
    • 14.2 测试 354
    • 14.2.1 单元测试 354
    • 14.2.2 基准测试 362
    • 14.3 本章小结 368
    • 第15章 内存管理 369
    • 15.1 内存分配 369
    • 15.1.1 内存管理基本概念 369
    • 15.1.2 逃逸分析 373
    • 15.2 TCMalloc 376
    • 15.2.1 整体结构 377
    • 15.2.2 小内存分配 378
    • 15.2.3 CentralCache 379
    • 15.2.4 大内存分配 381
    • 15.3 Mspan(内存管理器) 384
    • 15.4 垃圾回收 398
    • 15.4.1 标记清理算法 399
    • 15.4.2 标记实现 403
    • 15.4.3 清理 406
    • 15.4.4 监控 408
    • 15.5 本章小结 408

    上一篇:计算机网络  下一篇:数据结构与算法分析:C语言描述

    展开 +

    收起 -

    码小辫二维码
     ←点击下载即可登录

    Go语言相关电子书
    学习笔记
    网友NO.266250

    Django 多语言教程的实现(i18n)

    最近公司准备扩张海外业务,所以要给 Django 系统添加 国际化与本土化 支持。国际化一般简称 i18n ,代表 Internationalization 中 i 和 n 有 18 个字母;本地化简称 L10n ,表示 Localization 中 l 和 n 中有 10 个字母。有趣的一点是,一般会用小写的 i 和大写的 L 防止混淆。 简单来说:i18n 是为国际化搭建框架,L10n 是针对不同地区的适配。举个简单的例子: i18n: datetime.now().strftime('%Y/%m/%d') # before i18ndatetime.now().strftime(timeformat) # after i18n L10n: timeformat = { 'cn': '%Y/%m/%d', 'us': '%m/%d/%Y', 'fr': '%d/%m/%Y', ...} 更加具体的定义可以看https://www.w3.org/International/questions/qa-i18n的解释。 i18n 的范围非常广,包括多语言、时区、货币单位、单复数、字符编码甚至是文字阅读顺序(RTL)等等。这篇文章只关注 i18n 的多语言 方面。 ↑ 阿拉伯语的 windows 系统,文字甚至界面的方向都与中文版的相反 基本步骤 Django 作为一个大而全的框架,已经提供了一套多语言的解决方案,我稍微对比了一下,并没能找到在 Django 体系下比官方方案还好用的库。Django 的方案可以简单分为四步: 一些必要的配置 在代码中标记需要翻译的文本 使用 makemessages 命令生成 po 文件 编译 compilemessages 命令编译 mo 文件 下面我们详细来看看 第一步:配置 首先在 settings.py 中加入这几个内容 LOC……

    网友NO.822570

    go语言和python哪个难

    Python和Go都是用于编写Web应用程序的强大的高级编程语言,它们之间有什么区别吗?下面本篇文章就来带大家认识一下Python和Go语言,介绍一下Python和Go之间的区别,希望对大家有所帮助。 什么是Python? Python是一种功能强大的高级编程语言,主要用于科学和工程计算。它是一种高效的语言,优雅务实,简单而强大,适合新手和专业人士的编程。 Python支持多种编程范例,并提出了一个大型标准库,包括面向对象,命令式,功能性和程序性。 Go是什么? Go是一种通用编程语言,由Google设计;它借鉴了许多其他许多好主意语言,同时避免导致复杂性和不可靠代码的功能。 Go支持多范式,如程序,功能和并发。它的语法传统上来自C语言,但它已经做了很多修改,以改进简单性和安全性等功能。 Python和Go之间的区别是什么? 1、范例 Python是一种基于面向对象编程的多范式,命令式和函数式编程语言。它坚持这样一种观点,即如果一种语言在某些情境中表现出某种特定的方式,理想情况下它应该在所有情境中都有相似的作用。但是,它又不是纯粹的OOP语言,它还支持强封装,这是OOP的主要原则之一。 Go是一种基于并发编程范式的过程编程语言,它与C具有表面相似性。实际上,Go更像是C的更新版本。 2、类型化 Python是动态类型语言,……

    网友NO.312860

    放弃 Python 转向 Go语言有人给出了 9 大理由

    转用一门新语言通常是一项大决策,尤其是当你的团队成员中只有一个使用过它时。今年 Stream 团队的主要编程语言从 Python 转向了 Go。本文解释了其背后的九大原因以及如何做好这一转换。 一、为什么使用 Go 原因 1:性能 Go 极其地快。其性能与 Java 或 C++相似。在我们的使用中,Go 一般比 Python 要快 30 倍。以下是 Go 与 Java 之间的基准比较: 原因 2:语言性能很重要 对很多应用来说,编程语言只是简单充当了其与数据集之间的胶水。语言本身的性能常常无关轻重。 但是 Stream 是一个 API 提供商,服务于世界 500 强以及超过 2 亿的终端用户。数年来我们已经优化了 Cassandra、PostgreSQL、Redis 等等,然而最终抵达了所使用语言的极限。 Python 非常棒,但是其在序列化/去序列化、排序和聚合中表现欠佳。我们经常会遇到这样的问题:Cassandra 用时 1ms 检索了数据,Python 却需要 10ms 将其转化成对象。 原因 3:开发者效率通道 Go 作为一门语言致力于使事情简单化。它并未引入很多新概念,而是聚焦于打造一门简单的语言,它使用起来异常快速并且简单。其唯一的创新之处是 goroutines 和通道。Goroutines 是 Go 面向线程的轻量级方法,而通道是 goroutines 之间通信的优先方式。 创建 Goroutines 的成本很低,只需几千个字节的额外内存,正由于此,……

    网友NO.724490

    php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】

    本文实例讲述了php实现有序数组打印或排序的方法。分享给大家供大家参考,具体如下: 有序的数组打印或排序对于php来讲非常的简单了这里整理了几个不同语言的做法的实现代码,具体的我们一起来看这篇php中有序的数组打印或排序的例子吧. 最近有个面试题挺火的——把2个有序的数组打印或排序,刚看到这个题的时候也有点蒙,最优的算法肯定要用到有序的特性. 思考了一会发现也不是很难,假如数组是正序排列的,可以同时遍历2个数组,将小的值进行排序,最后会遍历完一个数组,留下一个非空数组,而且剩下的值肯定大于等于已经排好序的最大值. PHP代码: ?php function sort_arr($a,$b) { $temp = array(); while ($a$b) { if($a['0']$b['0']) { $temp[] = array_shift($a); } else { $temp[] = array_shift($b); } } if(!emptyempty($a)) { $temp = array_merge($temp, $a); } if(!emptyempty($b)) { $temp = array_merge($temp, $b); } return $temp; } $a = array(1,2,3,4,5,6); $b = array(2,3,4,10,10,10,10); sort_arr($a, $b);? 运行得到的新数组为: Array( [0] = 1 [1] = 2 [2] = 2 [3] = 3 [4] = 3 [5] = 4 [6] = 4 [7] = 5 [8] = 6 [9] = 10 [10] = 10 [11] = 10 [12] = 10) 其他语言实现代码: Python 代码: def fib(a,b): len_a = len(a) c = [] while len(a) and len(b): if a[0] b[0]: c.append(b.pop(0)) else: c.append(a.pop(0)) if len(a): c = c+a if len(b): c = c+b i=0 while ilen(c): print(c[i]) i = i+1a = [1,2,3,4,5]b = [……

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明