日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

rust程序设计(5)结构体相关练习题| 附带解答

發(fā)布時(shí)間:2023/11/20 windows 41 coder
生活随笔 收集整理的這篇文章主要介紹了 rust程序设计(5)结构体相关练习题| 附带解答 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目

  1. 基礎(chǔ)結(jié)構(gòu)體練習(xí)

    • 創(chuàng)建一個(gè)名為Person的結(jié)構(gòu)體,包含name(字符串類型)和age(整數(shù)類型)兩個(gè)字段。
    • 寫一個(gè)函數(shù),接收一個(gè)Person實(shí)例作為參數(shù),并打印出這個(gè)人的名字和年齡。
  2. 結(jié)構(gòu)體方法練習(xí)

    • Person結(jié)構(gòu)體添加一個(gè)方法birthday,當(dāng)調(diào)用時(shí),它將這個(gè)人的年齡增加1。
    • 創(chuàng)建一個(gè)Person實(shí)例,并使用birthday方法為其慶生,然后打印出新的年齡。
  3. 結(jié)構(gòu)體關(guān)聯(lián)函數(shù)練習(xí)

    • Person結(jié)構(gòu)體添加一個(gè)關(guān)聯(lián)函數(shù)(即靜態(tài)方法)new,它接收名字和年齡,并返回一個(gè)Person實(shí)例。
    • 使用Person::new來創(chuàng)建一個(gè)新的Person實(shí)例。
  4. 帶有枚舉的結(jié)構(gòu)體練習(xí)

    • 創(chuàng)建一個(gè)名為Vehicle的結(jié)構(gòu)體,其中包含一個(gè)model(字符串類型)和一個(gè)名為vehicle_type的枚舉(枚舉值可以是Car, Truck, Motorcycle等)。
    • 實(shí)現(xiàn)一個(gè)顯示Vehicle信息的函數(shù),包括它的型號(hào)和類型。
  5. 結(jié)構(gòu)體更新語法練習(xí)

    • 創(chuàng)建兩個(gè)Person實(shí)例。
    • 使用結(jié)構(gòu)體更新語法,創(chuàng)建一個(gè)新的Person實(shí)例,它從第一個(gè)實(shí)例繼承名字,從第二個(gè)實(shí)例繼承年齡。
  6. 元組結(jié)構(gòu)體練習(xí)

    • 創(chuàng)建一個(gè)名為Color的元組結(jié)構(gòu)體,它有三個(gè)u8類型的字段,代表紅、綠、藍(lán)色值。
    • 創(chuàng)建一個(gè)Color實(shí)例,并打印出其各個(gè)顏色分量。

解答

  1. 基礎(chǔ)結(jié)構(gòu)體練習(xí)

    struct Person {
        name: String,
        age: u32,
    }
    
    fn print_person(person: &Person) {
        println!("Name: {}, Age: {}", person.name, person.age);
    }
    
  2. 結(jié)構(gòu)體方法練習(xí)

    impl Person {
        fn birthday(&mut self) {
            self.age += 1;
        }
    }
    
    // 使用示例
    // let mut person = Person { name: String::from("Alice"), age: 30 };
    // person.birthday();
    // println!("New age: {}", person.age);
    
  3. 結(jié)構(gòu)體關(guān)聯(lián)函數(shù)練習(xí)

    impl Person {
        fn new(name: String, age: u32) -> Person {
            Person { name, age }
        }
    }
    
    // 使用示例
    // let person = Person::new(String::from("Bob"), 40);
    
  4. 帶有枚舉的結(jié)構(gòu)體練習(xí)

    enum VehicleType {
        Car,
        Truck,
        Motorcycle,
    }
    
    struct Vehicle {
        model: String,
        vehicle_type: VehicleType,
    }
    
    fn print_vehicle_info(vehicle: &Vehicle) {
        let type_str = match vehicle.vehicle_type {
            VehicleType::Car => "Car",
            VehicleType::Truck => "Truck",
            VehicleType::Motorcycle => "Motorcycle",
        };
        println!("Model: {}, Type: {}", vehicle.model, type_str);
    }
    
  5. 結(jié)構(gòu)體更新語法練習(xí)

    // let person1 = Person { name: String::from("Chris"), age: 25 };
    // let person2 = Person { name: String::from("Pat"), age: 30 };
    // let person3 = Person {
    //     name: person1.name,
    //     ..person2
    // };
    
  6. 元組結(jié)構(gòu)體練習(xí)

    struct Color(u8, u8, u8);
    
    // 使用示例
    // let color = Color(255, 0, 0);
    // println!("Red: {}, Green: {}, Blue: {}", color.0, color.1, color.2);
    

總結(jié)

以上是生活随笔為你收集整理的rust程序设计(5)结构体相关练习题| 附带解答的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。