如何推断函数的返回类型? [英] How to infer the return type of a function?

查看:21
本文介绍了如何推断函数的返回类型?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

推断块的返回类型.

fn main() {
    let x = { 5 };
    println!("{}", x);
}

但是当我给块命名时,我必须指定一个类型.

But when I give the block a name, I have to specify a type.

fn five() -> i32 {
    5
}

fn main() {
    let x = five();
    println!("{}", x);
}

如何避免选择类型?

推荐答案

你不能.Rust 设计明确禁止这样做.

但是,对于大型和复杂的返回类型,您有以下选择:

However, for large and complex return types, you have the following options:

  • 改用闭包 - 因为它是本地的,所以可以推断其类型
  • 返回盒装类型
  • 返回一个抽象类型

您可以在 返回迭代器(或任何其他特征)的正确方法的答案中看到这些实际示例?

这篇关于如何推断函数的返回类型?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆