Skip to content

黄一笑|旅客驿站

生活不止,学习不止。

  • Home
  • 学习笔记
  • CPA学习笔记
  • Landing Page
  • Toggle search form

Tag: Rust

Rust所有权

首先我们需要了解什么是所有权。Rust的核心特性就是所有权。所有程序在运行的时候,都必须管理它们使用计算机内存的方式。而Rust就是使用了所有权的系统来管理内存,其中包含了一组编译器在编译时检查的规则。最重要的是,这么一种运行方式,并不会减慢程序的运行速度。 Stack 和 Heap (栈内存 和 堆内存) 在运行的时候,Stack和Heap都是可以使用的内存,但是两者在结构上是不一样的。 Stack是按照值的接收顺序来存储,按照相反的顺序将它们移除(LIFO, last in first out) 添加数据叫做压入栈,而移除数据叫做弹出栈 所有的存储在Stack上的数据必须拥有已知的固定的大小。 编译时大小未知的数据,或运行大小可能发生变化的数据必须存放在heap上。 Heap内存组织性差一些:当你把数据放入heap时,你会请求一定数量的空间。而操作系统会给出足够大的空间,并把它标记为在用,返回一个指针,也就是这个空间的地址。这个过程称为”分配” 所有权规则 每一个值都有一个变量,这个变量是该值的所有者 每一个值同时只能有一个所有者 当所有者超出作用域(Scope),该值将被删除。

学习笔记

Rust的循环

Rust的循环提供了三种方式:loop,while Loop 循环 Loop 循环会反复的执行一段代码,直到退出。下面是一段代码: 以上的例子,如果运行,直到你使用ctrl+c,不然不会停止下来。更合理的方式,就是通过加入break来告诉程序何时停止循环。 while条件循环 这是另外一种常见的循环模式,每一次操作循环体之前都会判断一次条件。 For 循环 相比较while 和 loop循环,for 循环更加的高效。 需要留意的是For 循环有时候还和Range结合一起使用,Range是由标准库提供,指定一个开始的数字和结束的数字,Range可以生成他们之间的数字,但是不包含结束。 此外rev可以反转Range,下面是一个代码的例子。

学习笔记

Rust流程管理

Rust的控制流,主要是用 if, else if. 通过判断语句,可以简练的理清思路,下面就是一段代码: 多个else if,会比较凌乱,那么有什么更好的办法吗?这里可以尝试使用match来重构这一个代码,实例如下。这个只是个人的学习比较,如果你有更好的办法,请指教。 let if 语句 所有的数据类型应该都是一样的。否则编译会出错。

学习笔记

Rust的注释

在Rust里面,单行注释是使用”//”, 而多行注释 会使用”/* 内容*/”,当然你可以不嫌麻烦的话,每一行都用”//”标记 这里我来放一个例子。 感觉还是这个注释比较简单。

学习笔记

Rust数据类型

这里是关于Rust的数据类型的笔记 整数类型: 整数类型没有小数部分 例如u32就是一个无符号的整数类型,占据32位的空间 无符号整数类型以u开头 有符号整数类型以i开头 如果在不确定的情况下,可以使用系统的默认数值i32 2.整数溢出:

学习笔记

Rust的常量

Rust的常量(Constant),常量在绑定值以后是不可变的,但是他的不可以变和不可变的变量有很多区别: 不可以使用mut,因为常量永远都是不可以变得 声明常量使用Const作为关键字,并且它的类型必须被标注 常量可以在任何作用域内进行申明,包括全局作用域。 常量只可以绑定到常量表达式,无法绑定到函数的调用结果,或只能在运行时才能计算出值 在程序运行期间,常量在其声明的作用域内一直有效。 此外需要注意的是,Rust里使用全大写字母,每个单词之间用下划线分开,例如:Huang_Yixiao 例子:constantHuang_Yixiao:u32=100_000;

学习笔记

AOCI Benefit plan Equity FAR Go ISNULL Quickbook Rust SQL Treasury Stock 常量 循环 所有权 指针 注释


  • CPA学习笔记
  • ERPNext
  • FAR
  • SQL笔记
  • 学习笔记
  • 编程学习

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org

Copyright © 2023 黄一笑|旅客驿站.

Powered by PressBook Masonry Blogs