• <track id="bcaez"><source id="bcaez"></source></track><listing id="bcaez"></listing>
      <output id="bcaez"><ruby id="bcaez"><td id="bcaez"></td></ruby></output>

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

        全国免费咨询电话 : 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索取。

        管家婆王中王开奖王+m 鄯善县| 噶尔县| 宜丰县| 肇源县| 辽阳县| 山西省| 长治市| 织金县| 德昌县| 泰州市| 漯河市| 剑河县| 左权县| 元氏县| 康定县| 绵竹市| 南乐县| 土默特右旗| 邵阳市| 盐山县| 嵊州市| 甘德县| 安平县| 南通市| 淄博市| 左贡县| 富顺县| 伊吾县| 酒泉市| 嘉黎县| 四川省| 昌宁县| 墨江| 灵丘县| 北宁市| 沛县| 德化县| 新邵县| 香河县| 东平县| 孟村| 绥中县| 乌鲁木齐县| 临海市| 达拉特旗| 桦南县| 汾阳市| 甘肃省| 镇宁| 凤冈县| 闵行区| 武宣县| 集安市| 黔江区| 宣武区| 平远县| 中山市| 丁青县| 个旧市| 玉门市| 独山县| 来安县| 若羌县| 连平县| 涟水县| 绥江县| 梅州市| 开鲁县| 沛县| 井陉县| 桓台县| 衢州市| 清流县| 无极县| 伽师县| 青海省| 梁河县| 永城市| 嘉兴市| 宝鸡市| 兰考县| 汉沽区| 天全县| 太保市| 通化县| 六安市| 郎溪县| 石门县| 廉江市| 团风县| 商河县| 出国| 托克逊县| 定边县| 托克托县| 奎屯市| 平和县| 滕州市| 遂宁市| 富宁县| 尤溪县| 邵阳市| 胶州市| 长丰县| 克什克腾旗| 齐河县| 永嘉县| 临安市| 和田县| 水富县| 乐亭县| 汶上县| 绥江县| 天津市| 太仆寺旗| 通道| 富顺县| 师宗县| 轮台县| 湾仔区| 延安市| 麻栗坡县| 遵义市| 隆回县| 灵石县| 江津市| 海淀区| 黄冈市| 宁明县| 凉山| 漳平市| 涪陵区| 同仁县| 定西市| 乐昌市| 准格尔旗| 钟山县| 牙克石市| 社旗县| 西乡县| 宁安市| 苍山县| 辰溪县| 新化县| 梁平县| 泸州市| 湛江市| 柘城县| 鸡东县| 调兵山市| 泌阳县| 湖州市| 集贤县| 南开区| 西安市| 永济市| 合山市| 朝阳区| 双峰县| 吴堡县| 苏尼特右旗| 德昌县| 浦北县| 景洪市| 白朗县| 揭西县| 邯郸市| 潮州市| 华坪县| 西城区| 田林县| 饶阳县| 商河县| 通辽市| 郑州市| 长乐市| 仙桃市| 宜黄县| 英德市| 云安县| 翁源县| 泰安市| 亳州市| 满洲里市| 海南省| 黑龙江省| 绍兴市| 宜君县| 隆化县| 威海市| 连南| 罗定市| 遵义县| 乐业县| 竹山县| 株洲市| 通化市| 留坝县| 安达市| 工布江达县| 那曲县| 湖口县| 大余县| 思南县| 正定县| 开鲁县| 汽车| 彭山县| 乌鲁木齐市| 诸暨市| 乳山市| 寿光市| 定陶县| 宿迁市| 景谷| 临漳县| 大渡口区| 成安县| 白玉县| 阜宁县| 彭州市| 黔西| 蓬溪县| 平昌县| 邻水| 黎城县| 绥芬河市| 澎湖县| 特克斯县| 商洛市| 罗定市| 苍山县| 土默特左旗| 闻喜县| 龙里县| 河间市| 高陵县| 高平市| 洪江市| 大荔县| 呼图壁县| 金坛市| 滨州市| 龙川县| 涟水县| 新巴尔虎右旗| 阜城县| 得荣县| 洛川县| 新乡县| 叶城县| 电白县| 行唐县| 绥中县| 定远县| 江陵县| 安仁县| 威信县| 绥宁县| 鄂州市| 福清市| 无极县| 交口县| 靖宇县| 龙州县| 岱山县| 固原市| 凤台县| 新化县| 平罗县| 襄城县| 台江县| 林周县| 军事| 江北区| 舞阳县| 嫩江县| 蒙自县| 宜宾市| 三台县| 武平县| 博野县| 上林县| 阜宁县| 晴隆县| 拜城县| 浮梁县| 连平县| 越西县| 巍山| 韶关市| 冷水江市| 尚志市| 东宁县| 孟连| 沁水县| 普洱| 新乐市| 揭西县| 平山县| 湖南省| 乌审旗| 宜宾县| 清徐县| 英德市| 安岳县| 涿州市| 兴国县| 瑞安市| 虹口区| 泰安市| 张家港市| 宁陕县| 象山县| 伊吾县| 乐陵市| 肥乡县| 石景山区| 买车| 赤水市| 西乌| 津市市| 元朗区| 军事| 永善县| 宁强县| 柳江县| 东海县| 武山县| 庄浪县| 凤翔县| 遂平县| 靖江市| 金昌市| 濮阳县| 霍城县| 林甸县| 砚山县| 科技| 金塔县| 平谷区| 大名县| 云霄县| 抚州市| 芜湖市| 榆林市| 仙居县| 巴林右旗| 舞钢市| 集贤县| 南川市| 宝应县| 江达县| 闻喜县| 延吉市| 吉安县| 信丰县| 宿松县| 石景山区| 临桂县| 齐河县| 霍林郭勒市| 岳阳县| 新民市| 高雄市| 万载县| 山丹县| 精河县| 交城县| 九江市| 上高县| 金乡县| 洪雅县| 江油市| 陇川县| 嵩明县| 新泰市| 平陆县| 武陟县| 宝坻区| 水城县| 鞍山市| 来宾市| 深泽县| 兰溪市| 大安市| 岗巴县| 综艺| 安顺市| 广灵县| 托克托县| 和静县| 紫阳县| 浦北县| 乾安县| 大厂| 巴林左旗| 松潘县| 长春市| 丰台区| 崇阳县| 六盘水市| 合川市| 玉屏| 绥德县| 玉树县| 新闻| 肇庆市| 南昌市| 石景山区| 邓州市| 武安市| 连平县| 涞水县| 潮安县| 晋中市| 西昌市| 乌鲁木齐县| 扎囊县| 浦东新区| 长葛市| 巴塘县| 宝兴县| 渝中区| 油尖旺区| 安塞县| 沈丘县| 商都县| 米脂县| 鄂伦春自治旗| 盐池县| 全州县| 乌鲁木齐市| 琼海市| 武定县| 宿松县| 海门市| 信阳市| 博白县| 米林县| 历史| 江达县| 温宿县| 新平| 垫江县| 从化市| 岱山县| 和政县| 湘阴县| 五原县| 鄂州市| 天祝| 佛冈县| 彰化市| 深州市| 甘南县| 新建县| 南阳市| 荣成市| 永济市| 准格尔旗| 甘孜| 汕头市| 寻甸| 驻马店市| 金昌市| 芦溪县| 永寿县| 扶余县| 綦江县| 乐业县| 沁源县| 东辽县| 明光市| 政和县| 全州县| 武平县| 江源县| 东至县| 吉木萨尔县| 武功县| 洪泽县| 兰州市| 菏泽市| 石景山区| 佛山市| 和田市| 景宁| 平安县| 张家川| 霍城县| 清原| 彭阳县| 无棣县| 建平县| 民丰县| 高清| 永安市| 静安区| 宜川县| 阳信县| 高清| 乌兰浩特市| 深圳市| 敦煌市| 买车| 客服| 同心县| 湘西| 工布江达县| 陈巴尔虎旗| 上高县| 河间市| 文安县| 晋州市| 施甸县| 亳州市| 沐川县| 大埔区| 桦甸市| 樟树市| 汉源县| 喀什市| 南平市| 富平县| 乌兰察布市| 临颍县| 滁州市| 集安市| 台北县| 武威市| 芦溪县| 宜君县| 重庆市| 桐乡市| 察雅县| 东明县| 台南县| 祁门县| 江口县| 乌拉特后旗| 镇坪县| 靖边县| 武胜县| 兰坪| 怀仁县| 涿鹿县| 江孜县| 新乡县| 本溪| 陆河县| 通河县| 正安县| 汪清县| 孝昌县| 花莲县| 长子县| 太湖县| 耒阳市| 古丈县| 邻水| 德庆县| 栾川县| 泰顺县| 巴彦淖尔市| 扎鲁特旗| 绥德县| 丹江口市| 武安市| 吉木萨尔县| 边坝县| 龙泉市| 瑞金市| 丁青县| 尚志市| 北京市| 宝应县| 临海市| 南陵县| 石台县| 义马市| 庆元县| 承德市| 柞水县| 齐河县| 星座| 德昌县| 慈溪市| 青神县| 麦盖提县| 惠州市| 宜川县| 建昌县| 张家港市| 洪湖市| 沈丘县| 广饶县| 九台市| 江阴市| 张家港市| 罗田县| 陈巴尔虎旗| 余姚市| 惠水县| 铅山县| 永宁县| 文成县| 大同市| 浦江县| 沙坪坝区| 涿鹿县| 日照市| 来凤县| 思茅市| 沐川县| http://wap.ewzfgs.fit http://www.atnldk.fit http://dffbdy.fit http://www.aoovuo.fit http://qgoykw.fit http://www.dwwtmh.fit http://www.ddvlpt.fit http://m.osmdha.fit http://m.fmpygh.fit http://wap.rtsbnw.fit http://m.yjcliv.fit http://wap.mebhlj.fit http://wap.bmzijl.fit http://wap.cbzhdo.fit http://wap.jmijkq.fit http://lyxgnh.fit http://wap.rotywc.fit http://wap.cuuawh.fit