函数

未匹配的标注

函数

  1. 🌟🌟🌟

`

fn main() {

// 不要修改下面两行代码!

let (x, y) = (1, 2);

let s = sum(x, y);

assert_eq!(s, 3);

}

fn sum(x, y: i32) {

x + y;

}

`

  1. 🌟🌟

`

fn main() {

print();

}

// 使用另一个类型来替代 i32

fn print() -> i32 {

println!(“hello,world”);

}

`

  1. 🌟🌟🌟

`

// 用两种方法求解

fn main() {

never_return();

}

fn never_return() -> ! {

// 实现这个函数,不要修改函数签名!

}

`

  1. 🌟🌟 发散函数( Diverging function )不会返回任何值,因此它们可以用于替代需要返回任何值的地方

`

fn main() {

println!("Success!");

}

fn get_option(tp: u8) -> Option {

match tp {

 1 => {

     // TODO

 }

 _ => {

     // TODO

 }

};

// 这里与其返回一个 None,不如使用发散函数替代

never_return_fn()

}

// 使用三种方法实现以下发散函数

fn never_return_fn() -> ! {

}

`

  1. 🌟🌟

`

fn main() {

// 填空

let b = __;

let _v = match b {

 true => 1,

 // 发散函数也可以用于 `match` 表达式,用于替代任何类型的值

 false => {

     println!("Success!");

     panic!("we have no value for `false`, but we can panic")

 }

};

println!("Exercise Failed if printing out this line!");

}

`

你可以在这里找到答案(在 solutions 路径下)

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 查看所有版本


暂无话题~