gpt4 book ai didi

syntax - 匹配借用的枚举——为什么这个语法是等价的?

转载 作者:行者123 更新时间:2023-11-29 08:26:12 24 4
gpt4 key购买 nike

<分区>

我有以下代码,使用 rustc v1.36 编译:

enum Number {
Integer(i32),
Real(f32),
}

fn foo1(number: &mut Number) {
if let Number::Integer(n) = number {
let _y: &mut i32 = n;
}
}

fn foo2(number: &mut Number) {
if let &mut Number::Integer(ref mut n) = number {
let _y: &mut i32 = n;
}
}

有趣的是,我可以理解“foo2”是如何进行匹配的,但“foo1”却不是这样,而“foo1”是您将在任何 Rust 项目中看到的那种代码。有人可以解释这两个中的匹配语法是如何等效的吗?因此它也扩展到其他代码(结构?)?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com