Hello 算法 1.2.0 简体中文 Rust 版本书部分放弃了编程语言的注释规范,以换取更加紧凑的内容排版。注释主要分为三种类型:标题注 释、内容注释、多行注释。 第 0 章 前言 www.hello‑algo.com 5 /* 标题注释,用于标注函数、类、测试样例等 */ // 内容注释,用于详解代码 /** * 多行 * 注释 */ 0.2.2 在动画图解中高效学习 相较于文字,视频和图片具有更高的信息密度和结构化程度,更易于理解。在本书中,重点和难点知识将主 调用它的对象,能够对类的实例中包含的数据进行操作。 下面以几种常见的编程语言为例来说明。 ‧ C 语言是过程式编程语言,没有面向对象的概念,所以只有函数。但我们可以通过创建结构体(struct) 来模拟面向对象编程,与结构体相关联的函数就相当于其他编程语言中的方法。 ‧ Java 和 C# 是面向对象的编程语言,代码块(方法)通常作为某个类的一部分。静态方法的行为类似于 函数,因为它被绑定在类上,不能访问特定的实例变量。 65 更大的数组,并将旧数组的内容复制到新数组中。 Q:在构建栈(队列)的时候,未指定它的大小,为什么它们是“静态数据结构”呢? 在高级编程语言中,我们无须人工指定栈(队列)的初始容量,这个工作由类内部自动完成。例如,Java 的 ArrayList 的初始容量通常为 10。另外,扩容操作也是自动实现的。详见后续的“列表”章节。 Q:原码转补码的方法是“先取反后加 1”,那么补码转原码应该是逆运算“先减0 码力 | 387 页 | 18.51 MB | 10 月前3
Hello 算法 1.1.0 Rust版本书部分放弃了编程语言的注释规范,以换取更加紧凑的内容排版。注释主要分为三种类型:标题注 释、内容注释、多行注释。 第 0 章 前言 hello‑algo.com 5 /* 标题注释,用于标注函数、类、测试样例等 */ // 内容注释,用于详解代码 /** * 多行 * 注释 */ 0.2.2 在动画图解中高效学习 相较于文字,视频和图片具有更高的信息密度和结构化程度,更易于理解。在本书中,重点和难点知识将主 调用它的对象,能够对类的实例中包含的数据进行操作。 下面以几种常见的编程语言为例来说明。 ‧ C 语言是过程式编程语言,没有面向对象的概念,所以只有函数。但我们可以通过创建结构体(struct) 来模拟面向对象编程,与结构体相关联的函数就相当于其他编程语言中的方法。 ‧ Java 和 C# 是面向对象的编程语言,代码块(方法)通常作为某个类的一部分。静态方法的行为类似于 函数,因为它被绑定在类上,不能访问特定的实例变量。 65 更大的数组,并将旧数组的内容复制到新数组中。 Q:在构建栈(队列)的时候,未指定它的大小,为什么它们是“静态数据结构”呢? 在高级编程语言中,我们无须人工指定栈(队列)的初始容量,这个工作由类内部自动完成。例如,Java 的 ArrayList 的初始容量通常为 10。另外,扩容操作也是自动实现的。详见后续的“列表”章节。 Q:原码转补码的方法是“先取反后加 1”,那么补码转原码应该是逆运算“先减0 码力 | 388 页 | 18.50 MB | 1 年前3
Hello 算法 1.0.0 Rust版为准,例如使用 None 来表示“空”。 ‧ 本书部分放弃了编程语言的注释规范,以换取更加紧凑的内容排版。注释主要分为三种类型:标题注 释、内容注释、多行注释。 /* 标题注释,用于标注函数、类、测试样例等 */ // 内容注释,用于详解代码 /** * 多行 第 0 章 前言 hello‑algo.com 5 * 注释 */ 0.2.2 在动画图解中高效学习 相较于文字,视 ?(?) 。 Q:函数和方法这两个术语的区别是什么? 「函数 function」可以被独立执行,所有参数都以显式传递。「方法 method」与一个对象关联,被隐式传递 给调用它的对象,能够对类的实例中包含的数据进行操作。 下面以几种常见的编程语言为例来说明。 ‧ C 语言是过程式编程语言,没有面向对象的概念,所以只有函数。但我们可以通过创建结构体(struct) 来模拟面向对象编程, 来模拟面向对象编程,与结构体相关联的函数就相当于其他编程语言中的方法。 第 2 章 复杂度分析 hello‑algo.com 50 ‧ Java 和 C# 是面向对象的编程语言,代码块(方法)通常作为某个类的一部分。静态方法的行为类似于 函数,因为它被绑定在类上,不能访问特定的实例变量。 ‧ C++ 和 Python 既支持过程式编程(函数),也支持面向对象编程(方法)。 Q:图解“常见的空间复杂度类型”反映的是否是占用空间的绝对大小?0 码力 | 383 页 | 17.61 MB | 1 年前3
Rust 语言学习笔记的通用控制结构。和 C 和 C++ 风格的编程语言一样,代码段放在花括号中。 Rust 使用实现(implementation)、特征(trait)和结构化类型 (structured type)而不是类(class)。这点,与基于继承的 OO 语言 C++, Java 有相当大的差异。而跟 Ocaml, Haskell 这类函数式语言更加接近。 Rust 做到了内存安全而无需 .NET 和 Java is_she_love_me = false; let mut is_he_love_me: bool = true; 当然,bool 类型被用的最多的地方就是在 if 表达式里了 2.4.2.2 数字类型 和其他类 C 系的语言不一样,Rust 用一种符号+位数的方式来表示其基本的数 字类型。 可用的符号有 i、f、u 可用的位数,都是 2 的 n 次幂,分别为 8、16、32、64 及 size。 因为浮点类型最少只能用 的地址返回,但局部变量 a 存在栈中,在离开作用域 后,局部变量所申请的栈上内存都会被系统回收,从而造成了 Dangling Pointer 的问题。这是一个非常典型的内存安全问题。很多编程语言都存在类 似这样的内存安全问题。 再来看变量 c,c 的值是常量字符串,存储于常量区,可能这个函数我们只调用 了一次,我们可能不再想使用这个字符串,但 xyz 只有当整个程序结束后系统 才能回收这片内存,这点让程序员是不是也很无奈?0 码力 | 117 页 | 2.24 MB | 1 年前3
Comprehensive Rust(简体中文) 202412本身就是一个功能强大且全面的工具。它能够实现许多高级功能,包括 但不限于: * 项目/软件包结构 * 工作区 * 开发依赖和运行时依赖管理/缓存 * 构建脚本 * 全局安装 * 它还可以使用子命令插件(例如 cargo clippy)进行扩展。 – 详情请参阅 官方 Cargo Book 2.2 本培训中的代码示例 在本培训中,我们将主要通过示例探索 Rust 语言,这些示例可以通过浏览器执行。这能大大简化配置过 能够在资源匮乏的设备(如手机)上运行。 • 没有运行时和垃圾收集。 • 关注程序可靠性和安全性,而不会牺牲任何性能。 4.2 Rust 的优势 Rust 有一些独特的卖点: 23 • 内存安全:在编译时可防止所有类内存 bug – 不存在未初始化的变量。 – 不存在“双重释放”。 – 不存在“释放后使用”。 – 不存在 NULL 指针。 – 不存在被遗忘的互斥锁。 – 不存在线程之间的数据竞争。 – 不存在迭代器失效。 不用在这里占用过多时间。所有这些要点均会在后面进行详细讲解。 应该问问学生们都使用过哪些语言。根据答案侧重讲解 Rust 的不同特性: • 使用过 C 或 C++:Rust 利用借用检查消除了一类 运行 。你可以达到堪比 C 和 C++ 的性能, 而没有内存不安全的问题。并且你还可以得到些现代的语言构造,比如模式匹配和内置依赖管理。 • 使用过 Java、Go、Python、JavaScript0 码力 | 359 页 | 1.33 MB | 10 月前3
Rust 程序设计语言简体中文版先阅读专门介绍程序设计的书籍。 如何阅读本书 本书大体上假设您按从头到尾的顺序阅读。后面的章节建立在前面章节概念的基础上。前面的 章节可能不会深入介绍部分主题,而是留待后续章节重新讨论。 本书分为两类章节:概念章节和项目章节。在概念章节中,我们学习 Rust 的某个方面。在项 目章节中,我们应用目前所学的知识一同构建小型程序。第 2、12 和 20 章是项目章节;其余 都是概念章节。 第 1 章介绍如何安装 3 . 2 . 数 据 类 型 数据类型 ch03-02-data-types.md commit d0acb2595c891de97a133d06635c50ab449dd65c 在 Rust 中,每一个值都属于某一个 数据类型(data type),这告诉 Rust 它被指定为何种数 据,以便明确数据处理方式。我们将看到两类数据类型子集:标量(scalar)和复合 (compound)。 `no_type_annotations` due to previous error 你会看到其它数据类型的各种类型注解。 标量类型 标量(scalar)类型代表一个单独的值。Rust 有四种基本的标量类型:整型、浮点型、布尔类 型和字符类型。你可能在其他语言中见过它们。让我们深入了解它们在 Rust 中是如何工作的。 整型 整数 是一个没有小数部分的数字。我们在第二章使用过 u32 整数类型。该类型声明表明,它 关联的值应该是一个占据0 码力 | 600 页 | 12.99 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0阅读专门介绍程序设计的书籍。 如何阅读本书 本书大体上假设你按从头到尾的顺序阅读。后面的章节建立在前面章节概念的基础上。前面的 章节可能不会深入介绍部分主题,而是留待后续章节重新讨论。 本书分为两类章节:概念章节和项目章节。在概念章节中,我们学习 Rust 的某个方面。在项 目章节中,我们应用目前所学的知识一同构建小型程序。第二、十二和二十一章是项目章节; 其余都是概念章节。 第一章介绍如何安装 时也有类型推断。当我们写出 let guess = String::new() 时,Rust 推断出 guess 应该是 String 类型,并不需要我们写出类型。另一方面,secret_number,是数字类型。几个数字类 型拥有 1 到 100 之间的值:32 位数字 i32;32 位无符号数字 u32;64 位数字 i64 等等。 Rust 默认使用 i32,所以它是 secret_number 的类型,除非增加类型信息,或任何能让 42/562Rust 程序设计语言 简体中文版 数据类型 在 Rust 中,每一个值都有一个特定 数据类型(data type),这告诉 Rust 它被指定为何种数 据,以便明确数据处理方式。我们将看到两类数据类型子集:标量(scalar)和复合 (compound)。 记住,Rust 是 静态类型(statically typed)语言,也就是说在编译时就必须知道所有变量的 类型。根据值及其使用方式0 码力 | 562 页 | 3.23 MB | 1 月前3
Rust 到底香不香?Meetup Kotlin 协程那些事儿 2020.10 / 11 GDG DevFest / 全球移动开发者峰会 Kotlin多平台在移动端应用与展望 2021.7 GDG 社区说 Kotlin 编译器插件:我们究竟在期待什么? 2021.11 / 12 GDG DevFest / Kotlin 中文开发者大会 从注解处理器 KAPT 到 符号处理器 KSP 2022.9 GDG 社区说 KLUE:统一 KLUE:统一 JS 调用 Native 函数的体验 2022.10 GDG DevFest 小猿口算 Android 项目优化实践 2023.4 GDG 社区说 如何开发一款 Kotlin 编译器插件 2023.5 Kotlin 北京 Meetup 你想知道的 Jetpack Compose 的编译器黑魔法 Rust 锈 需求背景 实现思路 Hello0 码力 | 10 页 | 484.75 KB | 1 年前3
运⾏在浏览器中的 P2P ⽹络 - 李敏成⽹络 李敏成 from RingsNetwork Montivation 连接所有钱包持有者 去中⼼化的 Pure P2P ⽹络 The Idea 最好的节点载体是浏览器 ⽤户群体 钱包插件 运⾏环境 How to P2P Did: Wallet Address E2E secure(sign/encryption): Wallet Discovery and Routing0 码力 | 23 页 | 1.74 MB | 1 年前3
KCL: Rust 在编译器领域的实践与探索利用Kubernetes和云的混合能力,通过端到端的交付工作 流程,真正实现集中定义、随处交付。 KusionStack 架构 • KCL:面向应用研发者的 配置策略专用高级编程语 言,及其协议组,工具链及 IDE 插件 • Kusion:运维引擎、工具 链、服务层,IDE 工作空间 及社区技术集成套件 • Konfig:应用配置及基础 模型共享仓库,及面向 GitOps 工作流程(如 GitHub Actions)的自定义0 码力 | 25 页 | 3.50 MB | 1 年前3
共 18 条
- 1
- 2













