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

本文介绍了Rust中的变量概念,强调其默认不可变性,并展示了如何使用`let`声明可变变量。涵盖了基础数据类型,如整型、浮点型、布尔型和字符类型,以及它们的大小和签名。通过实例演示了如何处理字符串和执行命令行操作。此外,文章还提及了宏和派生宏的基本概念。
摘要由CSDN通过智能技术生成

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),看上去就像是函数调用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值