scala的类型推断是什么


本篇内容主要讲解“scala的类型推断是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“scala的类型推断是什么”吧!Scala 编译器通常可以推断出表达式的类型,因此你不必显式地声明它。编译器可以发现 businessName 是 String 类型。它的工作原理和方法类似:编译器可以推断出方法的返回类型为 Int,因此不需要明确地声明返回类型。对于递归方法,编译器无法推断出结果类型。下面这个程序就是由于这个原因而编译失败:当调用 多态方法 或实例化 泛型类 时,也不必明确指定类型参数。Scala 编译器将从上下文和实际方法的类型/构造函数参数的类型推断出缺失的类型参数。看下面两个例子:编译器使用传给 MyPair 参数的类型 香港云主机来推断出 AB 的类型。对于 x 的类型同样如此。编译器从不推断方法形式参数的类型。但是,在某些情况下,当函数作为参数传递时,编译器可以推断出匿名函数形式参数的类型。方法 map 的形式参数是 f: A => B。因为我们把整数放在 Seq 中,编译器知道 AInt 类型 (即 x 是一个整数)。因此,编译器可以从 x * 2 推断出 BInt 类型。通常认为,公开可访问的 API 成员应该具有显示类型声明以增加可读性。 因此,我们建议你将代码中向用户公开的任何 API 明确指定类型。
此外,类型推断有时会推断出太具体的类型。 假设我们这么写:
我们就不能进行重新赋值:它不能编译,因为 obj 推断出的类型是 Null。由于该类型的唯一值是 null,因此无法分配其他的值。到此,相信大家对“scala的类型推断是什么”有了更深的了解,不妨来实际操作一番吧!这里是开发云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: Java中有哪些正则表达式

今天就跟大家聊聊有关Java中有哪些正则表达式,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、匹配中文:[u4e00-u9fa5]2、英文字母:[a-zA-Z]3、数字:[0-9] 4、匹配中文,英文…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 09/07 21:58
Next 09/07 22:01

相关推荐