ICode9

精准搜索请尝试: 精确搜索
  • Rust中的String类型2022-01-24 12:33:29

    String类型会在堆内存上分配自己需要的存储空间,所以它能够处理在编译时位置大小的文本。 示例: 创建一个空字符串: let s = String::new(); 调用String的from函数根据字符串字面量来创建一个String实例: let s = String::from("yuyoubei"); 这里的双冒号(::)运算符允许我们调用置于St

  • Rust在loop循环中返回值2022-01-23 18:35:31

    使用break后加表达式的形式返回值。 例如,下面的程序输入n,输出>=n的最小的7的倍数: use std::io; fn main() { let mut s = String::new(); io::stdin().read_line(&mut s).unwrap(); let mut n: i32 = s.trim().parse().unwrap(); let n = loop { if n %

  • Rust中的while条件循环2022-01-23 18:35:03

    while条件循环一般格式: while 条件表达式 { 循环体 } 它循环判断条件表达式是否成立,若成立,执行循环体的内容,直到条件表达式不成立或者中途使用break等方式退出循环。 下面的程序输入n,循环输出1~n: use std::io; fn main() { let mut s = String::new(); io::stdin().

  • Rust使用for循环遍历集合中的每个元素2022-01-23 18:33:35

    可以使用 for 循环来遍历集合中的每个元素,例如: use std::io; fn main() { let a = [1, 3, 5, 7, 6, 4, 2]; for ele in a.iter() { println!("ele = {}", ele); } } 我们可以配合标准库中的 Range 来实现遍历一个范围内的所有数。 示例程序: fn main() {

  • Rust中语句和表达式的区别2022-01-22 18:32:59

    语句(statement)指那些执行操作但不返回值得指令;表达式(expression)指会进行计算并产生一个值作为结果的指令。 因为语句不会返回值。所以,在Rust中,不能将一条let语句赋值给另一个变量,如下所示的代码会产生编译时错误: fn main() { let x = (let y = 6); } 尝试运行上述程序会产生

  • Rust 使用 dotenv 来设置环境变量2022-01-22 08:00:14

    在项目中,我们通常需要设置一些环境变量,用来保存一些凭证或其它数据,这时我们可以使用 dotenv 这个 crate。   首先在项目中添加 dotenv 这个依赖:   例如在下面这个项目中,需要设置数据库连接字符串和 Debug 等级这两个环境变量。在开发环境下,我们可以在项目根目录下创建 .env 这

  • Rust 连接 SQLite 数据库2022-01-21 21:31:27

    使用 Rust 语言连接操作 SQLite 数据库,我使用 rusqlite 这个 crate。 看例子: 首先,使用 cargo 创建一个 Rust 项目,然后添加依赖 rusqlite:   来到 main.rs,其余所有的代码都写在这里。 首先引入 rusqlite 相关的类型,并建立一个 Person struct: Person 有三个字段,id、name 和 data,其

  • Rust中的数据类型(复合类型——元组 与 数组)2022-01-21 20:33:46

    复合类型(compound type)可以将多个不同类型的值组合为一个类型。Rust中提供了两种内置的复合数据类型:元组(tuple)和数组(array)。 目录元组类型数组类型 元组类型 元组是一个具有 固定长度 的数据集合 —— 你无法在声明结束后增加或减少其中的元素数量。 元素使用逗号分隔放入一对圆括

  • Rust中的数据类型(标量类型)2022-01-21 20:03:41

    Rust中的每一个值都有其特定的数据类型,Rust会根据数据的类型来决定应该如何处理它们。Rust中的两种不同数据类型子集:标量类型(scalar)和复合类型(compound)。 Rust是一门静态类型语言,这意味着它在编译程序的过程中需要知道所有变量的具体类型。大多数时候编译器可以自动推导数据类型。

  • Rust中的变量隐藏2022-01-21 19:34:39

    示例程序: fn main() { let x = 1; let x = x + 1; let x = x + 2; println!("x = {}", x); // 输出 x = 4 } Rust中的变量隐藏(shadow):重复定义一个同名变量会覆盖掉之前定义的变量。 隐藏机制可以在修改变量的值得基础上,保持变量的不可变性。 相比可变变量,隐

  • Rust中的输入与输出2022-01-20 18:35:21

    一个简单的输入样例: use std::io; fn main() { let mut s = String::new(); io::stdin().read_line(&mut s) // 输入一行字符串 .expect("failed to read line."); println!("{}", s); // 输出字符串 } 该程序的目的是从命令行输入一行字符串,并原模原样

  • win10安装Rust+VS Code配置Rust环境2022-01-20 13:36:05

    目录下载rustup下载vs codevs code配置常见问题 笔记日期:2022年1月20日 Rust版本:1.58.0 Rust Playground(在线IDE):https://play.rust-lang.org/ 下载rustup 进入:https://www.rust-lang.org/tools/install 点击“DOWNLOAD RUSTUP-INIT.EXE(64-BIT)”下载rustup并安装。默认安装会帮

  • 4.5 rust the Reference Counted Smart Pointer2022-01-16 13:35:14

    Rc<T>, the Reference Counted Smart Pointer In the majority of cases, ownership is clear: you know exactly which variable owns a given value. However, there are cases when a single value might have multiple owners. For example, in graph data structur

  • RUST——互斥锁的使用2022-01-15 17:33:24

    互斥锁是Rust语言中所提供的,基于共享内存的方式来实现线程之间通信的机制。 Mutex的简单使用 Mutex是rust标准库中提供的互斥锁的实现。使用的示例代码如下所示: use std::sync::Mutex; fn main() { let m = Mutex::new(5); { let mut num = m.lock().unwrap()

  • Rust 1.58.02022-01-14 12:33:20

      Rust 1.58.0 现已发布,该版本带来了在格式字符串中捕获的标识符、改变了 Windows 上的 Command 搜索路径,在标准库中增加了 #[must_use] 注释,以及一些新的库稳定性。如果你此前已通过 rustup 安装了以前的 Rust 版本,运行以下命令即可升级至最新版本:   rustup update stable  

  • 公开课:cargo 包管理 | Vol. 292022-01-14 10:59:58

    01《 cargo 包管理 》| Vol. 29 分享主题:《cargo 包管理》| Vol. 29 分享讲师: 苏林 分享时间: 周日晚上 2022-01-16 20:30-21:30 腾讯会议地址: https://meeting.tencent.com/dm/dOCkBrbQZtKx 会议 ID:974-4046-2341 课程介绍: Cargo 是 Rust 的构建系统和包管理器。就像 JavaScr

  • Rust---特征2022-01-13 14:34:30

    Rsut中的特征类似于CSharp中的接口 特征定义:  trait   定义特征名 如下定义一个特征Playable于media.rs文件中: pub trait Playable{ fn play(&self); fn pause(){ println!("Paused"); } } main.rs文件中: mod media; use media::Playable; stru

  • Rust 学习总结(1)—— 初识 Rust,作为新势力它的前景如何?2022-01-12 19:02:21

    前言 在 Stack Overflow 2020 调查中,Rust 被选为最受欢迎的编程语言第一名,这要归功于 86% 的开发人员表示他们会继续使用它。对于语言创造者来说,这并不是什么新鲜事—— Rust 自 2016 年以来一直在这项调查中获胜。在 Tiobe 指数上, Rust 的受欢迎程度也在上升——在 9 月份在最

  • 【Rust】所有权、引用、借用2022-01-08 21:03:39

    所有权 所有权的规则 Rust 中的每一个值都有一个被称为其 所有者(owner)的变量。 值在任一时刻有且只有一个所有者。 当所有者(变量)离开作用域,这个值将被丢弃。 Rust 采取了一个不同的策略:内存在拥有它的变量离开作用域后就被自动释放 变量与数据交互 方式(一):移动 let s1 = String:

  • Rust--枚举泛型2022-01-07 15:33:25

    如工厂产线上机器运行状态,如下定义泛型枚举来记录各个设备的运行状况: #[derive(Debug)] enum RunStatus<O,N>{ OK(O,N), NG(O,N), } fn main(){ let machine1 = RunStatus::OK(String::from("2021-01-07 15:14:22"),String::from("software restart success"));

  • Rust 刷leetcode 第二题2022-01-07 14:34:01

    题目描述 力扣 // Definition for singly-linked list. #[derive(PartialEq, Eq, Clone, Debug)] pub struct ListNode { pub val: i32, pub next: Option<Box<ListNode>>, } struct Solution {} impl Solution { pub fn add_two_numbers( l1:

  • Rust 计算一组数的平均数、中位数和众数2022-01-07 01:31:24

    直接上代码: use std::collections::HashMap; // 获取平均数 pub fn get_average_number(vec_numbers:&Vec<i64>) -> Option<f64> { if vec_numbers.is_empty() { return None; } let mut result: f64 = 0.0; for i in vec_numbers.iter()

  • rust的高阶函数2022-01-06 14:04:32

    一、高阶函数 头等函数,高阶函数,基本上算是一回事儿。细节上可能头等函数更丰富一些,比如可以赋值给变量,其它的如作参数和返回值,二者就基本一样了。所以说Higher-order function(HOF:高阶函数)和First-class Function(头等函数)就是可不可心变量化的区别。在rust中是支持高阶函数的

  • Rust—结构体2022-01-06 10:04:06

    结构体    //定义结构体Studentstruct Student{ name:&'static str, score:i32, } fn main(){ let score = 59; let username ="zhangsan"; let mut student = Student{ score, name:username, }; stud

  • Rust队列和栈2022-01-05 21:08:37

    前言 Rust 标准库里面是有 Vec这种可以在堆上分配内存的连续可增长的数组类型。可以用它很方便的实现队列和栈,但是他只能增长不能收缩。所以接下来使用链表实现队列 结点的结构 #[derive(Debug)] struct Node<T> { data: T, next: Option<Box<Node<T>>>, } impl<T> Node<

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有