登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書

『簡體書』Rust编程从入门到实战

書城自編碼: 3773021
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者: 樊少冰、孟祥莲
國際書號(ISBN): 9787302603849
出版社: 清华大学出版社
出版日期: 2022-07-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:HK$ 84.9

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
《全面与进步跨太平洋伙伴关系协定》国有企业条款研究
《 《全面与进步跨太平洋伙伴关系协定》国有企业条款研究 》

售價:HK$ 98.6
银行业架构网络BIAN(全球数字化时代金融服务业框架)(数字化转型与创新管理丛书)
《 银行业架构网络BIAN(全球数字化时代金融服务业框架)(数字化转型与创新管理丛书) 》

售價:HK$ 98.6
金托邦:江湖中的沉重正义
《 金托邦:江湖中的沉重正义 》

售價:HK$ 60.5
易经今解:释疑·解惑·见微
《 易经今解:释疑·解惑·见微 》

售價:HK$ 88.5
东欧史(全二册)-“中间地带”的困境
《 东欧史(全二册)-“中间地带”的困境 》

售價:HK$ 221.8
虚拟资本:金融怎样挪用我们的未来
《 虚拟资本:金融怎样挪用我们的未来 》

售價:HK$ 77.3
刻意练习不生气
《 刻意练习不生气 》

售價:HK$ 39.2
大宋理财:青苗法与王安石的金融帝国(全彩插图本)
《 大宋理财:青苗法与王安石的金融帝国(全彩插图本) 》

售價:HK$ 109.8

 

建議一齊購買:

+

HK$ 72.2
《Modern PHP(中文版)》
+

HK$ 97.4
《C语言从入门到精通(第5版)》
+

HK$ 249.9
《HTML+CSS+JavaScript入门经典 第3版》
+

HK$ 52.7
《C程序设计语言(原书第2版.新版)习题解答(典藏版)》
+

HK$ 201.2
《Java核心技术 卷I 基础知识(原书第11版)》
+

HK$ 101.2
《零基础学Java(全彩版)》
編輯推薦:
Rust致力于成为优雅解决高并发和高安全性系统问题的编程语言,适用于大型场景,它同时拥有着像C 一般出色的运行效率和ECMAScript一般的代码风格。
本书内容翔实、层次分明、逻辑通透,全书采用了大量实例,更易于理解。全书涵盖以下主题:Rust编程语言基础知识、所有权机制、Cargo包管理器、工程组织与访问权、无畏并发、线程通信、“属性”和“宏”、“不安全”语法、Web编程等。
內容簡介:
《Rust编程从入门到实战》是一部Rust编程语言的编程手册,第1~3章为Rust前置知识,介绍了开发环境搭建、第一个Rust程序以及语言的输入输出;第4~16章为Rust基础语法知识,介绍了Rust基础的语法和必要的语言使用规则,其中包括Rust所有权、生命周期以及特性等重要语言概念的介绍;第17~27章为Rust实用操作,介绍了文件与I/O、无畏并发、Web编程等重要的经典开发实战以及属性、宏、“不安全”语法等Rust高级编程。 《Rust编程从入门到实战》适合Rust语言初学者学习使用,也可供Rust开发者参考使用,还可作为高等院校相关专业的教材。
目錄
第1章 Rust编程语言概述 1
1.1 编程语言 1
1.2 Rust语言 2
1.2.1 为什么选择Rust 2
1.2.2 在哪里能使用Rust 2
1.3 Hello, Rust! 3
第2章 开发环境 4
2.1 工具链 4
2.1.1 Windows系统上的安装 4
2.1.2 在GNU/Linux上安装 6
2.1.3 在其他操作系统上安装 7
2.1.4 卸载 7
2.2 集成开发环境 7
2.3 CLion安装与部署 8
2.3.1 下载和安装CLion 8
2.3.2 配置CLion 9
第3章 开发命令行程序 13
3.1 输出到命令行 13
3.2 详细输出 14
3.3 从命令行输入 15
3.4 从命令参数中获取 16
第4章 基础语法 18
4.1 变量 18
4.2 重影 20
4.3 常量 20
4.4 静态变量 21
第5章 Rust数据类型 23
5.1 整数型 23
5.2 浮点数型 24
5.3 数学运算 24
5.3.1 基础运算 24
5.3.2 数学函数 24
5.4 布尔型 25
5.5 逻辑运算 25
5.6 字符型 26
5.7 字符串 27
5.8 元组 28
5.9 数组 29
第6章 注释 31
6.1 常规注释 31
6.2 说明文档注释 31
6.3 生成工程文档 33
第7章 函数 34
7.1 函数的声明 34
7.2 函数语句与函数表达式 35
7.2.1 函数语句与表达式 35
7.2.2 函数返回值 35
7.2.3 函数表达式 36
7.3 函数对象 37
7.4 闭包(Lambda表达式) 37
第8章 条件语句 39
8.1 if-else 语句 39
8.2 三元运算符 40
8.3 match语句——Rust中的switch 41

第9章 循环结构 43
9.1 while循环 43
9.2 for 循环 44
9.3 loop 循环 45
第10章 所有权 47
10.1 内存管理 47
10.1.1 内存的概念 47
10.1.2 主流的内存管理机制 48
10.2 所有权机制 48
10.2.1 变量范围 49
10.2.2 生命周期 49
10.2.3 转移 50
10.2.4 复制 50
10.2.5 引用和借用 51
10.2.6 垂悬引用 51
10.3 与函数相关的所有权 52
10.3.1 参数所有权 52
10.3.2 返回值所有权 53
10.4 引用类型 54
10.4.1 引用的用途 54
10.4.2 可变引用 55
10.4.3 解引用运算符 56
第11章 切片类型 58
11.1 字符串切片 58
11.2 数组切片 59
第12章 复合类型 60
12.1 结构体 60
12.1.1 结构体的定义 60
12.1.2 结构体的实例化 60
12.1.3 结构体所有权 61
12.1.4 结构体方法 64
12.1.5 元组结构体 66
12.1.6 单元结构体 66
12.2 枚举类 66
12.2.1 枚举类的定义 67
12.2.2 枚举类的match语法 68
12.2.3 if-let语法 69
12.2.4 枚举类的方法 70
第13章 泛型 72
13.1 泛型函数 72
13.2 复合类型的泛型 73
13.2.1 泛型结构体 73
13.2.2 泛型枚举类 74
13.3 impl泛型 75
13.3.1 对泛型类实现方法 75
13.3.2 对具体类实现方法 76
13.3.3 泛型方法 76
第14章 错误处理与空值 78
14.1 错误与错误处理 78
14.2 不可恢复错误 78
14.3 可恢复错误 79
14.3.1 Result枚举类 80
14.3.2 可恢复错误的传递 81
14.3.3 Error类型和它的kind方法 82
14.4 “空引用” 83
14.4.1 Null的概念 84
14.4.2 Option枚举类 84
第15章 工程组织和访问权 86
15.1 工程组织概念 86
15.1.1 箱 86
15.1.2 包 87
15.1.3 模块 87
15.2 访问权 88
15.2.1 模块访问权 88
15.2.2 结构体访问权 89
15.2.3 枚举类访问权 90
15.3 use 关键字 90
15.4 引用标准库 91
15.5 多源文件工程 92
15.5.1 新建源文件 92
15.5.2 运行多源文件程序 92
15.6 Cargo 93
15.6.1 Cargo是什么 93
15.6.2 Cargo功能 93
15.6.3 Cargo导入外部包 94
第16章 特性 96
16.1 定义特性 96
16.2 实现特性 96
16.3 默认特性 98
16.4 特性作参数 99
16.4.1 常规特性参数 99
16.4.2 泛型特性参数 100
16.4.3 特性叠加 101
16.5 特性作返回值 102
16.6 有条件的实现方法 104
第17章 文件与I/O 105
17.1 关于文件的概念 105
17.1.1 文件 105
17.1.2 流 105
17.2 打开文件 106
17.2.1 打开文件的种类 106
17.2.2 只读模式 106
17.3 创建新文件模式 109
17.3.1 创建新文件 109
17.3.2 覆盖文件 110
17.4 追加模式 110
17.5 自定义模式打开文件 111
17.5.1 OpenOptions对象 111
17.5.2 以读写模式打开文件 112
17.6 写入和读取二进制信息 114
17.7 文件系统 115
17.7.1 列出目录 115
17.7.2 创建目录 116
17.7.3 删除文件或目录 116
第18章 数据结构与集合 118
18.1 线性数据结构 118
18.1.1 向量 120
18.1.2 双端向量 124
18.1.3 链表 125
18.2 字符串 125
18.2.1 将数据转换为字符串 126
18.2.2 拼接字符串 127
18.2.3 字符串截取 128
18.2.4 UTF-8编码 129
18.3 映射表 131
18.3.1 散列映射表 131
18.3.2 B树映射表 132
18.4 集 133
18.4.1 散列集 133
18.4.2 B树集 135
18.5 堆 136
18.5.1 二叉堆 136
18.5.2 从向量创建堆 137
第19章 面向对象编程思想的实现 139
19.1 类 139
19.2 对象 141
19.3 封装 142
19.4 继承 143
19.5 多态 145
第20章 堆内存区 147
20.1 内存的分配方式 147
20.2 Box类型 148
20.3 Box解引用特性 150
20.4 dyn关键字 151
20.5 Box的所有权 151
第21章 高级引用 152
21.1 Box引用 152
21.2 Rc——引用计数 152
21.3 Mutex——互斥锁 155
第22章 运算符方法 158
22.1 Rust运算符方法 158
22.2 实现运算符方法 159
22.2.1 实现复数加法 159
22.2.2 引用类型运算符方法实现 160
22.3 支持实现运算符方法的运算符 161
22.4 特殊的运算符 162
22.4.1 Deref和DerefMut特性 162
22.4.2 Drop特性 163
22.4.3 Fn、FnMut和FnOnce特性 164
第23章 无畏并发 168
23.1 并发和问题 168
23.1.1 数据共用 168
23.1.2 数据回收 169
23.1.3 死锁 169
23.1.4 线程通信 169
23.2 多线程 170
23.3 线程通信 171
23.4 Arc线程安全引用计数 173
23.5 应对互斥锁死锁 175
23.5.1 用一个互斥锁保护 177
23.5.2 使用“标志互斥锁” 178
第24章 属性 180
24.1 属性的使用 180
24.2 条件编译属性 181
24.2.1 cfg 属性 181
24.2.2 test条件编译 182
24.2.3 “cfg_attr”属性 183
24.3 derive 派生属性 183
24.4 诊断属性 185
24.4.1 lint检查属性 185
24.4.2 deprecated属性 187
24.4.3 must_use属性 187
24.5 模块路径属性 188
24.6 其他属性 189
第25章 宏 190
25.1 宏的使用 190
25.2 宏的定义 191
25.3 过程宏 193
25.3.1 类函数过程宏 193
25.3.2 派生过程宏 196
25.3.3 属性宏 198
第26章 “不安全”语法 200
26.1 “不安全”域 200
26.2 原始指针 201
26.3 “不安全”的函数和方法 202
26.4 访问静态变量 203
26.5 “不安全”特性 204
26.6 共用体 205
第27章 Web服务器程序 208
27.1 TCP简介 208
27.1.1 建立TCP连接 209
27.1.2 搭建TCP服务器 209
27.2 UDP简介 212
27.3 简易的HTTP服务器 213
  
IV

V
內容試閱
上大学期间,我从事过编译器的研究与实现,这个过程并不顺利,最终并没有开发出可以在生产环境中使用的编译器产品(像GCC或LLVM那样)。但这个过程让我个人收获很大,尤其在对编程语言的研究方面。
作为一个精通C语言的开发者,我同时在使用很多其他的编程语言,这是为了适应不同类型产品的开发需要。大量的开发过程让我全面地了解了这些编程语言(如C 、Java、ECMAScript、Kotlin甚至FORTRAN),与众不同的编程语法以及设计者的编程思想。在了解这些之后,我常常会将它们的优点相互比较,并尝试以一个较为通用的语言作为基础,希望设计出一个能解决大多数迄今为止计算机科学家们发现的主要编程问题的编程语言。这些想法往往会在开发过程中不由自主地产生。
经过长时间的思考与经验积累,我认为一个优秀的编程语言必须具备以下特质。
(1)执行高效。最好能直接编译到硬件原生语言(机器语言),避免解释执行。
(2)编译时保障内存安全。在编译时能够确定数据的生命周期,防止垃圾的产生或在运行时检测并回收垃圾。
(3)并发安全。能够适应高并发环境并保证运行安全。
(4)支持面向对象编程。能够实现面向对象的编程思想。
(5)结构管理。可以使用包管理器管理代码,并具有良好的程序结构。
(6)易于学习和使用。软件效率不仅体现在运行上,还体现在开发上。
具备了以上6点特质,基本上就是一门“完美语言”。我认为这种语言是不存在的,或者正在开发中。但事情往往就是这样,你认为没有诞生的东西往往已经被开发很久了。Rust语言就几乎具备以上全部的优秀特质。
Rust语言完全具备以上前5条特质,唯一的缺点就是不那么易于学习,这是因为以上总结出的优点都是主流编程语言存在问题的解决方法,意识到这些问题需要大量的实践,而且只有在意识到这些问题之后,才会理解这些优秀特质在开发中发挥的重要作用。因此,Rust语言为了实现这些特质采用了很多还没有流行起来的新方法(例如所有权机制)的作用较为难以理解,也就难以被学习。
编写本书的目的是让Rust学习变得更加容易,适合Rust入门者学习和使用参考。书中将Rust语言最经典、最广泛的语法以程序实例的方式介绍给读者,并尽可能地将它们讲得通俗易懂。本书内容依赖的背景知识会在章节开始介绍,如果这些知识对您来说驾轻就熟,请忽略它们。但是,Rust语言绝对不适合作为刚刚接触编程的入门者学习,学习它之前请尽量掌握C语言、C 语言等有关知识,它们是学习Rust语言知识的依赖项。
作者在本书出版前曾在“菜鸟教程”网站发布过社区版教程,且得到了来自Rust全球社区的支持,这些支持使书中的内容更加全面。
总体来说,Rust语言不是一门易于学习的语言。抱着这个心态,您也许可以更容易地学习这门语言。这门语言几乎可以在C 能够运行的一切环境中运行,且运行效率非常高,它的高并发能力被迄今为止使用过它的开发者们赞不绝口。
希望这个由Mozilla基金会开发的编程语言带给您全新的编程体验!
本书提供程序代码等配套资源,请扫描下方二维码或者到清华大学出版社官方网站本书页面下载。
配套资源

樊少冰
2022年3月

II

III

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.