Keyword return[−][src]
Expand description
从函数返回值。
return
在函数中标记执行路径的结尾:
fn foo() -> i32 { return 3; } assert_eq!(foo(), 3);Run
return
当返回值是函数中的最后一个表达式时,则不需要。
在这种情况下,将省略 ;
:
fn foo() -> i32 { 3 } assert_eq!(foo(), 3);Run
return
立即从函数 (“early return”) 返回:
use std::fs::File; use std::io::{Error, ErrorKind, Read, Result}; fn main() -> Result<()> { let mut file = match File::open("foo.txt") { Ok(f) => f, Err(e) => return Err(e), }; let mut contents = String::new(); let size = match file.read_to_string(&mut contents) { Ok(s) => s, Err(e) => return Err(e), }; if contents.contains("impossible!") { return Err(Error::new(ErrorKind::Other, "oh no!")); } if size > 9000 { return Err(Error::new(ErrorKind::Other, "over 9000!")); } assert_eq!(contents, "Hello, world!"); Ok(()) }Run