Rust学习笔记 2.1 rust变量和基础数据类型

126 阅读1分钟

2.1 rust变量和基础数据类型

变量

变量是什么

  • 将数据分配到临时内存位置,为了让程序员更好地操作内存

  • 可以被赋值于任何的值和类型

  • rust中let声明变量

  • rust中的变量默认是不可变的!,前置mut可以使其为可变的

    • Immutable
    • Mutable

输入一个字符串并输出,main.rs:

 // 标准库io包
 use std::io;
 fn main() {
     let mut input: String = String::new();
     println!("Hello, world!");
     match io::stdin().read_line(&mut input) {
         Ok(_) => {
             println!("Wow : {}", input);
         }
         _ => {}
     }
 }
 ​

命令行执行cargo run

rust 基本数据类型

Integer 整型

SizeSignedUnsigned
8 biti8u8
16 biti16u16
32 biti32u32
64 biti64u64
128 biti128u128
arch(系统架构有关)isizeusize

Float 浮点型

SizeFloat
32 bitf32
64 bitf64

Boolean 布尔型

 true
 false

Character 字符类型

单引号

 let a = 'a';
 let smile = '\u{1f601}';

&str 字符串类型

双引号

 let cat: &str = "car";

tips:若不写类型也会自动推导,如下:

image-20220707164443315

!表示宏

println!:打印信息到终端

有关于宏,我会在后续高级教程中再去写一遍,宏是rust中比较复杂的一个东西,大致分为两类:声明式宏( declarative macros ) macro_rules! 和三种过程宏( procedural macros ) :

  • #[derive],在之前多次见到的派生宏,可以为目标结构体或枚举派生指定的代码,例如 Debug 特质
  • 类属性宏(Attribute-like macro),用于为目标添加自定义的属性
  • 类函数宏(Function-like macro),看上去就像是函数调用

\