小编Mig*_*man的帖子

将 1 元组结构转换为所包含元素的惯用方法是什么?

假设我们有以下类型:

struct Wrapper(Content);
Run Code Online (Sandbox Code Playgroud)

假设我经常需要访问Content这种类型的值,每次解构它都会很快变得很麻烦。解开这个值的惯用方法是什么?我知道有两种方法:实施Into<Content>和实施Deref。也许其中之一是首选?或者也许有一些更容易接受的方法来做到这一点?

进入方法:

impl Into<Content> for Wrapper {
    fn into(self) -> Content {
        let Wrapper(content) = self;
        content
    }
}

// ...

let content: Content = wrapper.into();
Run Code Online (Sandbox Code Playgroud)

德雷夫方法:

impl Deref for Wrapper {
    type Target = Content;

    fn deref(&self) -> &Self::Target {
        let Wrapper(content) = self;
        content
    }
}

// ...

let content: Content = *wrapper;
Run Code Online (Sandbox Code Playgroud)

idioms rust

4
推荐指数
1
解决办法
1753
查看次数

标签 统计

idioms ×1

rust ×1