这个问题在这里已有答案:
我正在阅读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),
}
}
谢谢
match
需要访问内部值。 SocketAddr
可以包含SocketAddrV4
或SocketAddrV6
,因此您需要处理这两种可能性。