你能解释一下为什么这段代码是必要的吗? [重复]

问题描述 投票:-1回答:1

这个问题在这里已有答案:

我正在阅读this,就像一些代码行没有必要。

例如,在下面的例子中,“匹配”真的很有用吗?为什么需要?好像重复的代码?也许编译器解决了这个问题,它只是为表达而编写的?

#[stable(feature = "sockaddr_setters", since = "1.9.0")]
    pub fn set_port(&mut self, new_port: u16) {
        match *self {
            SocketAddr::V4(ref mut a) => a.set_port(new_port),
            SocketAddr::V6(ref mut a) => a.set_port(new_port),
        }
    }

谢谢

rust
1个回答
1
投票

match需要访问内部值。 SocketAddr可以包含SocketAddrV4SocketAddrV6,因此您需要处理这两种可能性。

© www.soinside.com 2019 - 2024. All rights reserved.