Gx
主页
  • 甘特图开发
  • 前端考核
  • js
  • DOCKER 初始化
  • docker 镜像使用
  • docker 镜像定制
  • nestjs 安装
  • 连接数据库
  • typeOrm 操作
  • 任务调度
  • typeorm 一对多,多对一 多对多 一对一 对应实体之间的关系
  • sql 练习
  • 文件相关
  • ts学习
  • 面试题
  • rust
  • 入门
  • 基础
  • 性能公式
  • 线性回归
  • 基础语法
  • 数据类型
  • 复合类型
  • rust 控制流 匹配模式
  • ❤️ 父子传参
  • 🔔 Git的提交规则
主页
  • 甘特图开发
  • 前端考核
  • js
  • DOCKER 初始化
  • docker 镜像使用
  • docker 镜像定制
  • nestjs 安装
  • 连接数据库
  • typeOrm 操作
  • 任务调度
  • typeorm 一对多,多对一 多对多 一对一 对应实体之间的关系
  • sql 练习
  • 文件相关
  • ts学习
  • 面试题
  • rust
  • 入门
  • 基础
  • 性能公式
  • 线性回归
  • 基础语法
  • 数据类型
  • 复合类型
  • rust 控制流 匹配模式
  • ❤️ 父子传参
  • 🔔 Git的提交规则
  • 复合类型

复合类型

  • 元组(tuple)
  • 数组(array)
  • 结构体(struct)
  • 枚举(enum)

元组

fn main() {
    let tup: (i32, f64, u8) = (500, 6.4, 1);
    let (x, y, z) = tup;
    println!("The value of y is: {}", y); // 6.4

    let x: (i32, f64, u8) = (500, 6.4, 1);

    let five_hundred = x.0;

    let six_point_four = x.1;
    let one = x.2;
}

数组

fn main() {
    let months = ["January", "February", "March", "April", "May", "June", "July",
        "August", "September", "October", "November", "December"];
    let a: [i32; 5] = [1, 2, 3, 4, 5];
    let first = a[0];
    let second = a[1];
}

结构体

 #[derive(Debug)]
struct Rectangle {
    width: u32,
    height: u32,
}
// 专门定义结构体方法的
impl Rectangle {
    fn area(&self) -> u32 {
        self.width * self.height
    }
}
fn main() {
    let rect1 = Rectangle { width: 30, height: 50 };

    println!("rect1 is {:?}", rect1);
    
    println!(
        "The area of the rectangle is {} square pixels.",
        rect1.area()
    );
}

枚举

// 关键字 enum 示例
#[derive(Debug)]  // 允许打印
enum IpAddrKind {
    V4,
    V6,
}
#[derive(Debug)]
struct IpAddr {
    kind: IpAddrKind,
    address: String,
}
fn main(){
    let home = IpAddr {
        kind: IpAddrKind::V4,
        address: String::from("127.0.0.1"),
    };

    let loopback = IpAddr {
        kind: IpAddrKind::V6,
        address: String::from("::1"),
    };
}
最近更新: 2024/6/18 05:59
Contributors: G_xing