rust
rust编程学习
OceanStar的学习笔记
这个作者很懒,什么都没留下…
展开
-
Rust:借用
文章目录1、只在栈上数据:拷贝2、堆上数据移动克隆1、只在栈上数据:拷贝fn main() { let x = 5; //向OS申请一个栈空间x,并将5绑定到x,OS会自动将这个空间标记为已使用 let y = x; //向OS申请一个栈空间y,将x变量绑定的值5拷贝到一个临时变量中,绑定到y,然后使得临时变量失效 println!("{},{}",x, y);...原创 2018-12-26 15:48:33 · 776 阅读 · 0 评论 -
Rust:标准输出
文章目录println!println!定义println的作用:更好的进行错误检查fn main() { println!("{}", 1); // 默认用法,打印Display println!("{:o}", 9); // 八进制 println!("{:x}", 255); // 十六进制 小写 p...原创 2019-01-02 20:59:18 · 1776 阅读 · 0 评论 -
Rust:泛型
泛型单态化没有运行时开销文章目录1、泛型数据结构枚举泛型结构体泛型泛型结构体定义泛型结构体方法2、trait什么是trait默认traittrait作为参数1、泛型数据结构枚举泛型enum Option<T> { Some(T), None,}结构体泛型泛型结构体定义struct Point<T>{ x:T, y:T,...原创 2019-01-02 19:51:41 · 1729 阅读 · 0 评论 -
Rust:Rust的集合类型之String
Rust 将错误组合成两个主要类别:可恢复错误(recoverable)和 不可恢复错误(unrecoverable)。可恢复错误通常代表向用户报告错误和重试操作是合理的情况,比如未找到文件。不可恢复错误通常是 bug 的同义词,比如尝试访问超过数组结尾的位置。文章目录两种错误panic 不可修复错误Result可恢复错误错误处理的简写:unwrap和expect返回错误两种错误pani...原创 2019-01-01 17:10:12 · 5354 阅读 · 0 评论 -
Rust:Rust中的集合类型之Map
文章目录初始化访问map更新map哈希Map通过一个哈希函数来实现颜射,决定如何将键和值放入内存中。与vector类型,哈希map将它们的数据存储在堆上和vector一样,哈希map是同质的: 所有的键必须是相同类型,值也必须都是相同类型初始化准备use std::collections::HashMap;1、方法1let mut scores = HashMap::new(...原创 2019-01-01 15:46:00 · 13362 阅读 · 0 评论 -
Rust:Rust中的集合类型之vectors
Vec,也称为vector。它允许我们在一个单独的数据结构中存储一系列相同类型的值,它们在内存中彼此相邻的排列所有的值。文章目录vector VS 数组vector初始化引用元素:&v[index] 对比 v.get(index)循环修改元素存储不同类型的元素:vector结合enumvector VS 数组不同点vector是存储在堆上,数组存储在栈上vector的长度是...原创 2018-12-29 17:41:49 · 6214 阅读 · 0 评论 -
Rust:枚举【if let没弄懂】
文章目录1、两种枚举enum枚举和它的方法Option枚举与空值2、枚举与Matchenum与matchOption< T>与match_通配符与match3、if let语法糖1、两种枚举enum枚举和它的方法1、一个简单的枚举enum IpAddr{ V4(u32, u32, u32, u32), V6(String),} let home = Ip...原创 2018-12-29 14:22:36 · 3149 阅读 · 1 评论 -
Rust:结构体与方法与关联函数
获取以像素为单位的长方形的宽度和高度,并计算出长方形的面积文章目录使用结构体struct Rectangle{ width:u32, height:u32,}fn main() { let rect = Rectangle{ width:10, height:10, }; let area:u32 = rec...原创 2018-12-29 11:01:09 · 2706 阅读 · 1 评论 -
Rust:结构体
文章目录普通结构体定义普通结构体以及结构体实例化使用结构体作为返回值元组结构体普通结构体定义普通结构体以及结构体实例化fn main(){ struct User{ username:String, //字段 email:String, sign_in_count:u64, active:bool, } let user1 =...原创 2018-12-29 10:04:18 · 1332 阅读 · 0 评论 -
Rust:slice
slice是String的一部分引用。类似切片。文章目录字符串slice其他slice字符串sliceslice获取值的使用权但是没有得到值得所有权fn main() { let s = String::from("Hello world"); let hello = &s[0..5]; //[start, end) let world = &原创 2018-12-28 18:22:45 · 1521 阅读 · 1 评论 -
Rust:所有权与函数
所有权是Rust最独特的功能,其令Rust无需垃圾回收即可保障内存安全文章目录什么是所有权所有权与函数传参不可变变量和不可变引用可变变量和不可变引用不允许借值者修改值给借值者修改值的权限不可变变量与可变引用可变变量和可变引用所有权与返回值什么是所有权所有运行的程序都必须管理其使用计算机内存的方式。一些语言中具有垃圾回收机制,在程序运行时不断地寻找不再使用地内存;在另一些语言中,程序员必须...原创 2018-12-28 15:49:59 · 856 阅读 · 0 评论 -
Rust:所有权
文章目录1、描述2、代码3、总结&str与string的区别1、描述打印圣诞颂歌 “The Twelve Days of Christmas” 的歌词,并利用歌曲中的重复部分2、代码fn main() { let order_day = ["first原创 2018-12-26 12:54:14 · 1278 阅读 · 0 评论 -
Rust:函数
求斐波那契数列得前n项描述:斐波那契数列的定义如下:解法1:递归macro_rules! input_num { () => { { let mut input = String::new(); std::io::stdin().read_line(&a原创 2018-12-26 11:27:17 · 1172 阅读 · 0 评论 -
Rust:模式解构
文章目录条件判断if-else if -else在 let 语句中使用 if循环代码loop循环while循环for遍历集合条件判断if-else if -elsefn main() { let number = 3; if number < 7{ println!("smaller") }else if 7 &原创 2018-12-25 21:52:31 · 1636 阅读 · 0 评论 -
Rust:数据类型
文章目录函数的参数包含语句和表达式的函数体函数的返回值一个返回值多个返回值Rust时一门基于表达式的语言函数的参数fn main() { test(11, 11.1);}fn test(x:i32, y:f32){ println!("hello world!, x = {}, y = {}&am原创 2018-12-25 21:14:43 · 1206 阅读 · 0 评论 -
Rust:变量与常量
在Rust中,每一个值都属于某一个数据类型,告知rust它被指定为何种数据以明确数据处理方式文章目录1、标量整型浮点型布尔型字符类型2、复合类型元祖数组rust有两种数据类型子集:标量和复合1、标量标量类型代表一个单独的值。Rust 有四种基本的标量类型:整型、浮点型、布尔类型和字符类型。整型整形就是整数类型,用来存储整数1、比如u32整数类型表示它关联的值应该是...原创 2018-12-25 20:29:32 · 2522 阅读 · 0 评论 -
Rust:Cargo--项目管理工具
文章目录1、查看Cargo的版本2、Cargo管理项目2.1、使用Cargo构建项目2.2、构建并运行Cargo项目方法1:先构建再运行方法2:构建并运行2.3、快速检查代码确保可以编译2.4、发布构建Cargo 是 Rust 的构建系统和包管理器,可以用来 构建代码、下载依赖库并编译这些库等.1、查看Cargo的版本source $HOME/.cargo/envcargo --v...原创 2018-12-25 10:04:14 · 1365 阅读 · 0 评论 -
Rust:ubuntu下安装Rust语言包以及IDE插件支持
开发环境:Ubuntu 18.04LTS文章目录安装Rust语言包使用安装脚本rustup安装【推荐】更新卸载Rust安装包【没有试过】编译第一个Rust程序Pycharm下安装rust插件支持安装Rusr插件新建一个Rust项目安装Rust语言包使用安装脚本rustup安装【推荐】sudo apt-get install curlcurl https://sh.rustup.r...原创 2018-12-21 16:40:06 · 6858 阅读 · 0 评论 -
Rust:Rust语言介绍
规则1:rust中,变量默认是不可变的不可变变量fn main() { let x = 5; println!("The value of x is:{}", x); x = 6; println!(&a原创 2018-12-25 18:47:58 · 5792 阅读 · 2 评论