
Rust
文章平均质量分 81
Jtag特工
代码和人工智能老兵
展开
-
Rust语言教程(9) - if let表达式与枚举进阶
Rust通过if let语句来实现对于枚举匹配的简写,这也是现代语言的常见特性原创 2022-10-12 03:30:04 · 1069 阅读 · 0 评论 -
Rust语言教程(8) - 所有权
Rust语言教程(8) - 所有权我们从第2讲到第7讲这6讲,在堆上分配了不少对象,但是类似于C++的delete运算符仍然没有出场过。因为Rust有作用域规则,在超出作用域之后会自动释放掉。移动语义和复制语义我们来复习下移动语义。先看一段代码: let mut c_0 = Complex{real:0, imagine:0}; println!("{}",c_0); println!("{}",c_0.imagine); println!("{:?}",c_0);原创 2021-01-20 17:42:34 · 285 阅读 · 0 评论 -
Rust语言教程(7) - 结构体与方法的结合
Rust语言教程(7) - 结构体与方法的结合上一节我们学习了结构体类型,但是只介绍了定义域,并没有介绍定义方法的方法。这是因为Rust的方法定义更像是动态语言,并不需要写在结构体定义时。为结构体定义方法我们来复习下上节介绍的结构体的例子: struct Complex { real : i32, imagine : i32 } let mut c1 = Complex{real :0, imagine: 1}; println!("{原创 2021-01-16 21:46:10 · 1027 阅读 · 0 评论 -
Rust语言教程(6) - 错误处理和可选值
Rust语言教程(6) - 错误处理和可选值Rust的错误处理从前面的学习中,我们对于Rust的错误处理应该已经有个体感了。Rust的返回值中,同时包含了正确情况下的值和错误情况下的报错信息的值。以上一讲的读取标准输入值为例,我们其实没有处理返回值: let sin1 = std::io::stdin().read_line(&mut str8);如果要处理的话,需要如何做呢?使用match表达式处理错误我们可以使用match表达式,来同时对正确和错误两种情况进行处理。我们来原创 2021-01-14 21:27:44 · 596 阅读 · 0 评论 -
Rust语言教程(5) - 与环境交互
Rust语言教程(5) - 与环境交互学习了基本编程结构之后,我们还需要了解如何和外界环境打交道,这样才有能力做些有用的工具。调用外部应用程序通过标准库中的std::process::Command可以调用外部的应用程序或者命令。我们来看个例子: let output = Command::new("ls") .arg("/Users/lusinga/working/llvm-project-11.0.0") .output(); println!("原创 2021-01-14 15:07:37 · 843 阅读 · 0 评论 -
Rust语言教程(4) - 字符串
Rust语言教程(4) - 字符串有了数组和向量的基础,我们再来看它的一个特例:字符串。字符串有两种表现形式,一种是基本类型,表示字符串的切片,以&str表示;另一种是可变的string类型。针对字面值的字符串,有一种静态的类型表示方法,写作&'static str。字符串切片具有普通切片的基本功能。字符串切片长度与普通切片一样,可以用len方法来求字符串切片的长度。例: let s1 = "Hello,String"; println!("{:?}",s1.原创 2021-01-07 19:04:10 · 2630 阅读 · 0 评论 -
Rust语言教程(3) - 数组与向量
Rust语言教程(3) - 数组与向量上一节我们采摘了不少低矮的果实,将其它语言学到的知识迁移到Rust 中来。这一节我们仍然继续采摘。在数据结构中,最经常使用的就是定长的数组和变长的向量。数组Rust的数组除了是把类型和长度放在一个方括号里之外,没有什么特别的。我们直接上例子: let mut a_101 : [i32;3] = [0,0,0]; a_101[0] = 1; println!("{:?}",a_101);如果数组比较长,列举起来比较麻烦,可以采用"[值|原创 2021-01-06 17:46:37 · 1042 阅读 · 0 评论 -
Rust语言教程(2) - 从熟悉的部分开始
Rust语言教程(2) - 从熟悉的部分开始虽然有默认不变性还有所有权的问题让Rust一上来用起来有些不同,但是其实大部分语法特点还是我们所熟悉的。我们没必要上来就跟自己死磕,可以先从我们熟悉的部分开始学习。一般我们写代码,使用的主要是数据类型、控制结构和函数。我们就从这三部分开始。数据类型与Go一样,Rust的定义语句数据也是放在变量名后面的,不过还要加上一个冒号。布尔类型布尔类型是bool:let b0 : bool = true;因为Rust是有类型推断的功能,所以很多时候可以不用原创 2021-01-05 16:23:31 · 6490 阅读 · 4 评论 -
Rust语言教程(1) - 一门没有GC的语言
Rust语言是一门没有GC的语言,那么,它是如何管理内存的呢?原创 2016-10-31 00:41:24 · 9370 阅读 · 0 评论