错误处理是保证程序健壮性的前提,在编程语言中错误处理的方式大致分为两种:抛出异常(exceptions)和作为值返回。Rust 将错误作为值返回并且提供了原生的优雅的错误处理方案。熟练掌握错误处理是软件工程中非常重要的环节,让我一起来看看Rust展现给我们的错误处理艺术。17.1 Option和Result谨慎使用panic:fn guess(n: i32) -> bool { if n < 1 || n >
闭包作为参数(Taking closures as arguments)现在我们知道了闭包是 trait,我们已经知道了如何接受和返回闭包;就像任何其它的 trait!这也意味着我们也可以选择静态或动态分发。首先,让我们写一个获取可调用结构的函数,调用它,然后返回结果:fn call_with_one<F>(some_closure: F) -> i32 where F : Fn(i32) ->