mirror of
https://github.com/KaiserY/trpl-zh-cn
synced 2025-02-23 12:52:20 +08:00
Update ch06-01-defining-an-enum.md
This commit is contained in:
parent
fdf1ea90da
commit
963bd09920
@ -101,7 +101,7 @@ let loopback = IpAddr::V6(String::from("::1"));
|
||||
|
||||
我们直接将数据附加到枚举的每个成员上,这样就不需要一个额外的结构体了。
|
||||
|
||||
用枚举替代结构体还有另一个优势:每个成员可以处理不同类型和数量的数据。IPv4 版本的 IP 地址总是含有四个值在 0 和 255 之间的数字部分。如果我们想要将 `V4` 地址存储为四个 `u8` 值而 `V6` 地址仍然表现为一个 `String`,这就不能使用结构体了。枚举则可以轻易处理的这个情况:
|
||||
用枚举替代结构体还有另一个优势:每个成员可以处理不同类型和数量的数据。IPv4 版本的 IP 地址总是含有四个值在 0 和 255 之间的数字部分。如果我们想要将 `V4` 地址存储为四个 `u8` 值而 `V6` 地址仍然表现为一个 `String`,这就不能使用结构体了。枚举则可以轻易的处理这个情况:
|
||||
|
||||
```rust
|
||||
enum IpAddr {
|
||||
|
Loading…
Reference in New Issue
Block a user