gpt4 book ai didi

rust - 为什么 println!函数在 Rust 中使用感叹号?

转载 作者:行者123 更新时间:2023-11-29 07:40:24 72 4
gpt4 key购买 nike

在 Swift 中,! 表示解包一个可选的(可能的值)。

最佳答案

println!不是一个函数,它是一个。宏使用 ! 将它们与普通方法调用区分开来。 The documentation包含更多信息。

另见:


Rust 使用 Option类型来表示可选数据。它有一个 unwrap方法。

Rust 1.13 添加了问号运算符 ? 作为 try! 宏的模拟(最初通过 RFC 243 提出)。

关于问号运算符的精彩解释在 The Rust Programming Language 中。 .

fn foo() -> Result<i32, Error> {
Ok(4)
}

fn bar() -> Result<i32, Error> {
let a = foo()?;
Ok(a + 4)
}

问号运算符也是extends to Option ,因此您可能会看到它用于解包值或从函数返回 None。这不同于仅仅解包,因为程序不会崩溃:

fn foo() -> Option<i32> {
None
}

fn bar() -> Option<i32> {
let a = foo()?;
Some(a + 4)
}

关于rust - 为什么 println!函数在 Rust 中使用感叹号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29611387/

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