rust计算机,Rust

走进 Rust:Drop trait

实现 Drop

实现Drop trait用于手动清理某个值,例如锁。

struct CustomSmartPointer {

data: String,

2020-08-25,阅读:362,评论:0,点赞:0,标签:Rust

走进 Rust:迭代器

遍历求和

iter()获取迭代器,sum()求和。

#[test]

fn iterator_sum() {

let v1 = vec![1, 2, 3]

2020-08-06,阅读:515,评论:0,点赞:0,标签:Rust

走进 Rust:闭包

定义

|num|中的num是传入参数,多个参数可以是|param1, param2|。大括号}前一行num是闭包的返回值。let expensive_closu

2020-07-24,阅读:734,评论:0,点赞:0,标签:Rust

走进 Rust:引用的生命周期

定义

借用检查器borrow checker会比较作用域来确保所有的引用都是有效的。

x的引用的生命周期是'b,即r = &x;后引用就被回收了,而r指

2020-07-23,阅读:551,评论:0,点赞:0,标签:Rust

走进 Rust:trait

注意

trait类似Java中的接口interface。

定义trait

pub trait Summary {

fn summarize(&s

2020-07-22,阅读:563,评论:0,点赞:0,标签:Rust

走进 Rust:泛型

函数中使用泛型

fn test<T>(t: T) -> T{

t

}

结构体中使用泛型

单个参数

struct Point<T&

2020-07-20,阅读:597,评论:0,点赞:0,标签:Rust

走进 Rust:异常处理

抛出异常

使用panic!宏抛出异常。

fn main() {

panic!("crash and burn");

}

处理异常

使用Result枚举处

2020-07-17,阅读:423,评论:0,点赞:0,标签:Rust

走进 Rust:HashMap 集合

新建

通过宏新建一个HashMap对象。

let teams = vec![String::from("Blue"), String::from("Yello

2020-07-16,阅读:903,评论:0,点赞:0,标签:Rust

走进 Rust:Vector 集合

Vector

let v: Vec<i32> = Vec::new();

let v = vec![1, 2, 3, 4, 5];

添加元素

let

2020-07-15,阅读:496,评论:0,点赞:0,标签:Rust

走进 Rust:Crate、模板

Crate

src/main.rs

构建成二进制

src/lib.rs

构建成依赖包

Module

Rust中的items(函数、方法、结构体、枚举、模块和常量

2020-07-14,阅读:669,评论:0,点赞:0,标签:Rust

走进 Rust:枚举

定义枚举

#[derive(Debug)]

enum IpAddrKind {

V4,

V6,

}

使用枚举

枚举同样可以使用impl来实现结构

2020-07-13,阅读:660,评论:0,点赞:0,标签:Rust

走进 Rust:结构体方法

方法语法

方法与函数相似:它们使用fn关键字及其名称进行声明,可以具有参数和返回值,并且包含一些在其他地方调用时运行的代码。但是,方法与函数的不同之处在于,它们

2020-07-10,阅读:491,评论:0,点赞:0,标签:Rust

走进 Rust:打印结构体字段

定义结构体

struct Rectangle {

width: u32,

height: u32,

}

打印结构体

使用{}打印会报错。

fn

2020-07-09,阅读:1680,评论:0,点赞:1,标签:Rust

走进 Rust:结构体

定义和实例化结构体

结构体和元组类似。像元组一样,结构体的各个部分可以是不同的类型。与元组不同,你将为每个数据命名,以便清楚地知道这些值的含义。由于使用了这些名

2020-07-08,阅读:622,评论:0,点赞:0,标签:Rust

走进 Rust:切片

切片

另一种没有所有权的数据类型是切片。切片使你可以引用集合中连续的元素序列,而不是整个集合。

这是一个小的编程问题:编写一个函数,该函数需要一个字符串并返回在

2020-07-07,阅读:1007,评论:0,点赞:1,标签:Rust

走进 Rust:参考和借阅

参考和借阅

上一节元组代码的问题在于,我们必须将String返回给调用函数,因此,在调用calculate_length之后,我们仍然可以使用String,因为

2020-07-07,阅读:595,评论:0,点赞:0,标签:Rust

走进 Rust:所有权

所有权

Rust的主要功能是所有权。尽管该功能易于解释,但对其余语言有深远的影响。

所有程序必须在运行时管理它们使用的计算机内存。某些语言具有垃圾回收功能,该垃

2020-07-06,阅读:498,评论:0,点赞:0,标签:Rust

走进 Rust:流程控制

if

if的条件必须是bool类型。

fn main() {

let number = 3;

if number < 5 {

2020-07-03,阅读:536,评论:0,点赞:0,标签:Rust

走进 Rust:函数

命名规范

使用蛇形命名法snake case(所有单词小写,使用_下划线分隔)命名函数名称。

fn main() {

another_function(

2020-07-02,阅读:540,评论:0,点赞:0,标签:Rust

走进Rust:数据类型

Scalar Types

标量类型。Rust有4个主要的标量类型:integers(整数类型)、floating-point numbers(浮点数类型)、Bo

2020-06-30,阅读:485,评论:0,点赞:0,标签:Rust

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值