• Taozi
    2023-11-01 来自上海
    1. enum变体可以挂载的类型是否就是对应了结构体的三种形态:单元结构体、元组结构体和命名结构体。 2. match表达式不同的返回类型可以使用enum进行聚合。

    作者回复: 1. 可以这样理解。但要注意,enum中的选项名称本身是 变体,variant,不是struct name; 2。对的。

    
    1
  • 付佳伟
    2023-11-01 来自北京
    思考题:match各个分支返回值类型不同时,可以将各个类型实现同一个trait ,然后用Box将返回值包裹,返回值类型定义Box<dyn trait>。不知道还有没有其他办法

    作者回复: 你说这个方案后面会讲到。其它方案见其它同学说的有。

    
    1
  • 不忘初心
    2023-11-01 来自上海
    思考题: 第一种方案: 把不同类型封装在枚举中, 返回枚举. 第二种方案: 返回Box<dyn Any>.

    作者回复: 1好,2一般不会那样用。

    
    
  • c
    2023-11-01 来自北京
    一楼

    作者回复: 沙发

    
    
  • 伯阳
    2023-11-01 来自北京
    打卡,模式匹配太牛了,结合了多种语言,还有析构功能

    作者回复: 确实牛👍,你起得真早。

    
    
  • 一个人旅行
    2023-11-01 来自北京
    1. 默认情况下,struct不能进行比较,需要为Shape类型实现PartialEq trait特征。 2. 方式一:使用枚举,该枚举类型的枚举值表示一个类型。 方式二:使用特征,所有的类型都需要实现该特征
    
    