【Rust练习】11.struct

打印 上一主题 下一主题

主题 534|帖子 534|积分 1602

练习题来自:https://practice-zh.course.rs/compound-types/struct.html
1 对于结构体,我们必须为其中的每一个字段都指定具体的值

  1. // fix the error
  2. struct Person {
  3.     name: String,
  4.     age: u8,
  5.     hobby: String
  6. }
  7. fn main() {
  8.     let age = 30;
  9.     let p = Person {
  10.         name: String::from("sunface"),
  11.         age,
  12.     };
  13. }
复制代码
结构体的初始化,需要将每个字段都赋值才行。
  1. struct Person {
  2.     name: String,
  3.     age: u8,
  4.     hobby: String
  5. }
  6. fn main() {
  7.     let age = 30;
  8.     let p = Person {
  9.         name: String::from("sunface"),
  10.         age,
  11.         hobby:String::from("sunface")
  12.     };
  13. }
复制代码
题外话,Rust的结构体显然和C大概C++的结构体不太一样,对于C的结构体来说,不存在批量初始化这个说法,结构体都是基本类型,自带初值,赋值需要逐个字段;C++的结构体其实就是public class,初始化方式多种多样,还有面向对象的一系列特征。
而Rust并不是一个面向对象语言(至少它自己不觉得是)
2
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

海哥

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表