rust程序设计(5)结构体相关练习题| 附带解答
生活随笔
收集整理的這篇文章主要介紹了
rust程序设计(5)结构体相关练习题| 附带解答
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目
-
基礎(chǔ)結(jié)構(gòu)體練習(xí):
- 創(chuàng)建一個(gè)名為
Person的結(jié)構(gòu)體,包含name(字符串類型)和age(整數(shù)類型)兩個(gè)字段。 - 寫一個(gè)函數(shù),接收一個(gè)
Person實(shí)例作為參數(shù),并打印出這個(gè)人的名字和年齡。
- 創(chuàng)建一個(gè)名為
-
結(jié)構(gòu)體方法練習(xí):
- 為
Person結(jié)構(gòu)體添加一個(gè)方法birthday,當(dāng)調(diào)用時(shí),它將這個(gè)人的年齡增加1。 - 創(chuàng)建一個(gè)
Person實(shí)例,并使用birthday方法為其慶生,然后打印出新的年齡。
- 為
-
結(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í)例。
- 為
-
帶有枚舉的結(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)和類型。
- 創(chuàng)建一個(gè)名為
-
結(jié)構(gòu)體更新語法練習(xí):
- 創(chuàng)建兩個(gè)
Person實(shí)例。 - 使用結(jié)構(gòu)體更新語法,創(chuàng)建一個(gè)新的
Person實(shí)例,它從第一個(gè)實(shí)例繼承名字,從第二個(gè)實(shí)例繼承年齡。
- 創(chuàng)建兩個(gè)
-
元組結(jié)構(gòu)體練習(xí):
- 創(chuàng)建一個(gè)名為
Color的元組結(jié)構(gòu)體,它有三個(gè)u8類型的字段,代表紅、綠、藍(lán)色值。 - 創(chuàng)建一個(gè)
Color實(shí)例,并打印出其各個(gè)顏色分量。
- 創(chuàng)建一個(gè)名為
解答
-
基礎(chǔ)結(jié)構(gòu)體練習(xí):
struct Person { name: String, age: u32, } fn print_person(person: &Person) { println!("Name: {}, Age: {}", person.name, person.age); } -
結(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); -
結(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); -
帶有枚舉的結(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); } -
結(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 // }; -
元組結(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)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 潮流周刊#27:应该如何处
- 下一篇: Nginx自定义日志中时间格式