MST

星途 面试题库

面试题:Rust结构体关联函数类型约束的基础应用

定义一个名为`Rectangle`的结构体,包含`width`和`height`两个`u32`类型的字段。为`Rectangle`结构体实现一个关联函数`new`,该函数接受两个`u32`类型的参数来初始化`Rectangle`实例,并且添加类型约束,使得只有当传入的`width`和`height`都大于0时,函数才能够成功编译。请写出完整代码。
32.8万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
struct Rectangle {
    width: u32,
    height: u32,
}

impl Rectangle {
    fn new(width: u32, height: u32) -> Option<Rectangle> {
        if width > 0 && height > 0 {
            Some(Rectangle { width, height })
        } else {
            None
        }
    }
}