RUST学习笔记

文章目录

安装与简介参考RUST官网安装

  • 静态类型语言:必须在编译时确定数据类型。
  • 变量默认不可变,
  • 子模块默认私有,方便隐藏实现细节
  • 没有null
  • 编译器穷尽所有编译可能,以避免出错。
    内存相关的
  • 所有权、深浅copy比较特殊
    • 栈区,默认不区分深浅copy,还有Copy trait
    • 堆区,默认浅copy转移所有权
      • String数据类型是
  • Copy trait A赋值给B,后A依旧可用
  • Drop trait 类型禁止使用Copy trait
    Rust 的默认方式和C++大部分是反着的,变量引用默认不可修改,函数形参默认为所有权转移。栈区默认是类似Copy trait(个人感觉有点像深拷贝),堆区默认是所有权转移。

代码学习参考RUST官网

关键字

  • let创建变量
  • mut可变变量

数据类型

数值类型变量
整型
有符号数 无符号数
i8 8bit整型 u8 8bit整型
i16 16bit整型 u16 16bit整型
i32 32bit整型(默认整型) u32 32bit整型
i64 64bit整型 u64 64bit整型
i128 128bit整型 u128 128bit整型
arch类型

依赖运行程序的计算机架构:64 位架构上它们是 64 bit的,32 位架构上它们是 32 bit的。

  • isize有符号arch
  • usize无符号arch
浮点类型
  • f32 浮点数32bit
  • f64 浮点数64bit
布尔类型
  • bool布尔值 truefalse
复合数据类型
  • tuple

    复制代码
    let x: (i32, f64, u8) = (500, 6.4, 1);
    let five_hundred = x.0;
    let six_point_four = x.1;
    let one = x.2;
  • array

    复制代码
    let a = [1, 2, 3, 4, 5];
    let a: [i32; 5] = [1, 2, 3, 4, 5];
    let first = a[0];
    let second = a[1];
相关推荐
聪明蛋子哟6 小时前
Stagehand v3多语言SDK:Python/Go/Rust/Java下的浏览器自动化统一方案
python·golang·rust
liuyicenysabel7 小时前
多服务上线日记三:
运维·服务器·笔记·学习
CHENGQUAN_kenan7 小时前
佛山亚马逊卖家出口退税合规指南|9610免税、一般贸易退税、无票采购、申报误区全覆盖
大数据·经验分享·笔记·百度
YM52e7 小时前
鸿蒙ArkTS实战项目 - 门店陈列巡检台:巡检卡片与多列切换实现
学习·华为·harmonyos
一只小小的芙厨8 小时前
基础数论总结
笔记·学习·算法
hsjiasb10 小时前
FreeRTOS学习(三十七)——常见错误与工程规范
学习·学习笔记·freertos
小席是个热心肠10 小时前
Redis的自我学习
数据库·redis·学习
小灰灰搞电子11 小时前
Rust+Slint 实现温度计源码分享
前端·rust·slint
zyf10441611 小时前
暑期实践日志 Day33:完成全部字幕添加,工作基本收尾
学习·计算机网络·剪辑·暑期实践·课题任务
GitLqr11 小时前
2026 Bun 全新姿态:从 Zig 到 Rust 的“暴力”重构与生态大爆发
rust·node.js·bun