- 编译期初始化 静态常量const MAX_ID: usize = usize::MAX / 2;fn main() { println!("用户ID允许的最大值是{}",MAX_ID);}关键字是const而不是let定义常量必须指明类型(如 i32)不能省略定义常量时变量的命名规则一般是全部大写常量可以在任意作用域进行定义,其生命周期贯穿整个程序的生命周期。编译时编译器会尽可能将其... 编译期初始化 静态常量const MAX_ID: usize = usize::MAX / 2;fn main() { println!("用户ID允许的最大值是{}",MAX_ID);}关键字是const而不是let定义常量必须指明类型(如 i32)不能省略定义常量时变量的命名规则一般是全部大写常量可以在任意作用域进行定义,其生命周期贯穿整个程序的生命周期。编译时编译器会尽可能将其...
- 迭代器 Iterator迭代器允许我们迭代一个连续的集合,例如数组、动态数组 Vec、HashMap 等,在此过程中,只需关心集合中的元素如何处理,而无需关心如何开始、如何结束、按照什么样的索引去访问等问题。 For 循环与迭代器从用途来看,迭代器跟 for 循环颇为相似,都是去遍历一个集合,但是实际上它们存在不小的差别,其中最主要的差别就是:是否通过索引来访问集合。Rust 中的 for... 迭代器 Iterator迭代器允许我们迭代一个连续的集合,例如数组、动态数组 Vec、HashMap 等,在此过程中,只需关心集合中的元素如何处理,而无需关心如何开始、如何结束、按照什么样的索引去访问等问题。 For 循环与迭代器从用途来看,迭代器跟 for 循环颇为相似,都是去遍历一个集合,但是实际上它们存在不小的差别,其中最主要的差别就是:是否通过索引来访问集合。Rust 中的 for...
- 多线程并发编程 使用多线程use std::thread;use std::time::Duration;fn main() { thread::spawn(|| { for i in 1..10 { println!("hi number {} from the spawned thread!", i); thread::s... 多线程并发编程 使用多线程use std::thread;use std::time::Duration;fn main() { thread::spawn(|| { for i in 1..10 { println!("hi number {} from the spawned thread!", i); thread::s...
- 智能指针 Box Box 的使用场景由于 Box 是简单的封装,除了将值存储在堆上外,并没有其它性能上的损耗。而性能和功能往往是鱼和熊掌,因此 Box 相比其它智能指针,功能较为单一,可以在以下场景中使用它:特意的将数据分配在堆上数据较大时,又不想在转移所有权时进行数据拷贝类型的大小在编译期无法确定,但是我们又需要固定大小的类型时特征对象,用于说明对象实现了一个特征,而不是某个特定的类型 ... 智能指针 Box Box 的使用场景由于 Box 是简单的封装,除了将值存储在堆上外,并没有其它性能上的损耗。而性能和功能往往是鱼和熊掌,因此 Box 相比其它智能指针,功能较为单一,可以在以下场景中使用它:特意的将数据分配在堆上数据较大时,又不想在转移所有权时进行数据拷贝类型的大小在编译期无法确定,但是我们又需要固定大小的类型时特征对象,用于说明对象实现了一个特征,而不是某个特定的类型 ...
- 请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。 函数 myAtoi(string s) 的算法如下: 读入字符串并丢弃无用的前导空格 检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。 请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。 函数 myAtoi(string s) 的算法如下: 读入字符串并丢弃无用的前导空格 检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。
- 对于这次参加的 Rust 语言技术大会,和我以前参加过的 C++ 大会相比,明显能感觉到讲师群体更加年轻,看来 Rust 作为一门年轻的语言更受年轻人的喜爱。同时,演讲主题有更多来自创业公司,很符合 Rust 的颠覆者气质。这次会议的每场演讲时长只有半个小时,比 C++ 大会少一半。这样安排的优点是可以纳入更多的演讲主题,缺点是由浅入深完整解析某项前沿技术的演讲比较少,大多更侧重于宣传自己的... 对于这次参加的 Rust 语言技术大会,和我以前参加过的 C++ 大会相比,明显能感觉到讲师群体更加年轻,看来 Rust 作为一门年轻的语言更受年轻人的喜爱。同时,演讲主题有更多来自创业公司,很符合 Rust 的颠覆者气质。这次会议的每场演讲时长只有半个小时,比 C++ 大会少一半。这样安排的优点是可以纳入更多的演讲主题,缺点是由浅入深完整解析某项前沿技术的演讲比较少,大多更侧重于宣传自己的...
- 本文介绍 开发环境搭建与 rust 相关工具,如 rustc、cargo,详细讲解了这些工具地用法。 本文介绍 开发环境搭建与 rust 相关工具,如 rustc、cargo,详细讲解了这些工具地用法。
- 本文介绍 Rust Crate 国内源配置。 本文介绍 Rust Crate 国内源配置。
- 本文记叙如何将一个 Rust 项目编译成可执行的 WebAssembly 文件。 本文记叙如何将一个 Rust 项目编译成可执行的 WebAssembly 文件。
- 2. 两数相加:给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 样例 1:输入: l1 = [2,4,3], l2 = [5,6,4] 输出: [7,0,8] 解释: 342 + 465 = 807. 样例 ... 2. 两数相加:给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 样例 1:输入: l1 = [2,4,3], l2 = [5,6,4] 输出: [7,0,8] 解释: 342 + 465 = 807. 样例 ...
- 剑指 Offer II 110. 所有路径|797. 所有可能的路径:给定一个有 n 个节点的有向无环图,用二维数组 graph 表示,请找到所有从 0 到 n-1 的路径并输出(不要求按顺序)。graph 的第 i 个数组中的单元都表示有向图中 i 号节点所能到达的下一些结点(译者注:有向图是有方向的,即规定了 a→b 你就不能从 b→a ),若为空,就是没有下一个节点了。 样例 1:输... 剑指 Offer II 110. 所有路径|797. 所有可能的路径:给定一个有 n 个节点的有向无环图,用二维数组 graph 表示,请找到所有从 0 到 n-1 的路径并输出(不要求按顺序)。graph 的第 i 个数组中的单元都表示有向图中 i 号节点所能到达的下一些结点(译者注:有向图是有方向的,即规定了 a→b 你就不能从 b→a ),若为空,就是没有下一个节点了。 样例 1:输...
- 剑指 Offer II 083. 没有重复元素集合的全排列|46. 全排列:给定一个不含重复数字的整数数组 nums ,返回其 所有可能的全排列 。可以 按任意顺序 返回答案。 样例 1输入: nums = [1,2,3]输出: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 样例 2输入: nums = [0,1]输出: [[0,1],... 剑指 Offer II 083. 没有重复元素集合的全排列|46. 全排列:给定一个不含重复数字的整数数组 nums ,返回其 所有可能的全排列 。可以 按任意顺序 返回答案。 样例 1输入: nums = [1,2,3]输出: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 样例 2输入: nums = [0,1]输出: [[0,1],...
- 有很多编程语言,每一种都有自己的优点和缺点。但是是什么让Rust编程语言如此特别呢?Rust是一种关注安全性、安全性和并发性的系统编程语言。它由Mozilla基金会赞助,由一个开源贡献者团队开发。Rust被设计成一种安全的并发语言,易于学习和使用。Rust通过结合使用静态和动态类型、所有权和借用来实现这些目标。静态类型有助于防止编译时的错误,而动态类型允许更灵活和更容易的重构。Rust也是一... 有很多编程语言,每一种都有自己的优点和缺点。但是是什么让Rust编程语言如此特别呢?Rust是一种关注安全性、安全性和并发性的系统编程语言。它由Mozilla基金会赞助,由一个开源贡献者团队开发。Rust被设计成一种安全的并发语言,易于学习和使用。Rust通过结合使用静态和动态类型、所有权和借用来实现这些目标。静态类型有助于防止编译时的错误,而动态类型允许更灵活和更容易的重构。Rust也是一...
- 1221. 分割平衡字符串:在一个 平衡字符串 中,‘L’ 和 ‘R’ 字符的数量是相同的。给你一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串。注意:分割得到的每个字符串都必须是平衡字符串,且分割得到的平衡字符串是原平衡字符串的连续子串。返回可以通过分割得到的平衡字符串的 最大数量 。 样例 1输入: s = "RLRRLLRLRL" 输出: 4 解释: s 可以分割为... 1221. 分割平衡字符串:在一个 平衡字符串 中,‘L’ 和 ‘R’ 字符的数量是相同的。给你一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串。注意:分割得到的每个字符串都必须是平衡字符串,且分割得到的平衡字符串是原平衡字符串的连续子串。返回可以通过分割得到的平衡字符串的 最大数量 。 样例 1输入: s = "RLRRLLRLRL" 输出: 4 解释: s 可以分割为...
- 14. 最长公共前缀:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。 样例 1:输入: strs = ["flower","flow","flight"] 输出: "fl" 样例 2:输入: strs = ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。 提示:1 <= strs.length <= 2000... 14. 最长公共前缀:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。 样例 1:输入: strs = ["flower","flow","flight"] 输出: "fl" 样例 2:输入: strs = ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。 提示:1 <= strs.length <= 2000...
上滑加载中
推荐直播
-
华为云IoT开源专家实践分享:开源让物联网平台更开放、易用
2024/05/14 周二 16:30-18:00
张俭 华为云IoT DTSE技术布道师
作为开发者的你是否也想加入开源社区?本期物联网平台资深“程序猿”,开源专家张俭,为你揭秘华为云IoT如何借助开源构建可靠、开放、易用的物联网平台,并手把手教你玩转开源社区!
去报名
热门标签