Rust
文章平均质量分 92
zaneac
这个作者很懒,什么都没留下…
展开
-
Rust学习-所有权(二)引用与借用
定义结构体,需要使用struct关键字并为整个结构体提供一个名字。结构体的名字需要描述它所组合的数据的意义。接着,在大括号中,定义没一部分数据的名字和类型,我们称为字段原创 2023-11-01 11:39:24 · 98 阅读 · 2 评论 -
Rust学习-所有权(二)引用与借用
相比之下,在Rust中编译器确保引用永远也不会变成垂悬状态:当你拥有一些数据的引用,编译器确保数据不会在其引用之前离开作用域。然而,多个不可变引用是可以的,因为没有拿个只会读取数据的人有能力影响其他人读取到的数据。想一个指针,因为它是一个地址,我们可以由此访问存储于该地址的属于其他变量的数据。可变引用有一个很大的限制:如果你有一个对该变量的可变引用,就不能再创建对该变量的引用。中使用它,但是在那个可变引用的创建和它的使用之间,我们又尝试在。函数,它以一个对象的引用作为参数,而不是获取值的所有权。原创 2023-10-31 10:57:54 · 124 阅读 · 2 评论 -
Rust学习-所有权(一)什么是所有权?
Rust的核心功能之一是所有权。虽然该功能很容易解释,但它对语言的其他部分有着是深刻的影响。所有程序都必须管理其运行时使用的计算机内存的方式。一些语言中具有垃圾回收机制,在程序运行时有规律的寻找不再使用的内存;在另一些语言中,程序员必须亲自分配和使用内存。Rust则选择了第三种方式:通过所有权系统管理内存,编译器在编译时会根据一系列的规则进行检查。如果违反了任何这些规则,程序都不能编译。在运行时,所有权系统的任何功能都不会减慢程序。因为所有权对很多程序员来说都是一个新概念,需要一些时间来适应。原创 2023-10-30 14:30:05 · 95 阅读 · 2 评论 -
Rust学习-循环(loop、while、for)
Rust系列学习——循环结构原创 2023-10-26 11:41:04 · 439 阅读 · 1 评论 -
Rust学习-变量和类型
比如对于一个byte(8 bits)的数据来说,如果存的是无符号数,那么它的表达范围是0~255,如果存的是有符号数,那么它的表达范围是-128~127.在整数的算数运算中,有一个比较头疼的事情是"溢出"。在此例中,编译器只知道x是一个整数,但是具体是i8 i16 i32或者u8 u16 u32等,并没有足够的信息判断,这些都是有可能的。也就是说,Rust设计者希望在发生类型转换的时候不是偷偷摸摸进行的,而是显式的标记出来,防止隐藏bug.虽然在很多时候会让代码显得不那么精简,但这也算是一种合理的折中。原创 2023-10-25 15:52:02 · 161 阅读 · 1 评论