OverloadResolutionByLambdaReturnType
所在位置是kotlin.OverloadResolutionByLambdaReturnType
,其相关用法介绍如下。
用法:
@Target([AnnotationTarget.FUNCTION]) @ExperimentalTypeInference annotation class OverloadResolutionByLambdaReturnType
根据从 lambda 参数返回的值的类型启用重载选择。
当两个或多个函数重载具有相同的参数列表,但仅在函数参数的返回类型上有所不同时,此注释允许通过传递给此函数参数的 lambda 函数返回的值的类型来选择重载。
例子:
@OverloadResolutionByLambdaReturnType
fun create(intProducer: () -> Int): Int
fun create(doubleProducer: () -> Double): Double
val newValue = create { 3.14 }
应用于重载之一的注释允许通过分析从 lambda 函数返回的值来解决这种歧义。
该注释还用于区分带注释的重载,以防即使考虑到 lambda 参数分析的结果,重载选择仍然无法选择其中之一。在这种情况下,会报告警告。
注意:此注释是实验性的,请参阅ExperimentalTypeInference 了解如何选择加入它。
相关用法
- Kotlin OverloadResolutionByLambdaReturnType.<init>用法及代码示例
- Kotlin associateBy用法及代码示例
- Kotlin all用法及代码示例
- Kotlin map用法及代码示例
- Kotlin filterNot用法及代码示例
- Kotlin reduceRight用法及代码示例
- Kotlin Random.Default用法及代码示例
- Kotlin Byte.inc用法及代码示例
- Kotlin getValue用法及代码示例
- Kotlin Double.dec用法及代码示例
- Kotlin windowedSequence用法及代码示例
- Kotlin contentToString用法及代码示例
- Kotlin groupByTo用法及代码示例
- Kotlin commonPrefixWith用法及代码示例
- Kotlin MatchResult.Destructured用法及代码示例
- Kotlin Delegates.notNull用法及代码示例
- Kotlin ifBlank用法及代码示例
- Kotlin filterNotTo用法及代码示例
- Kotlin getOrPut用法及代码示例
- Kotlin Triple.<init>用法及代码示例
- Kotlin Duration.toString用法及代码示例
- Kotlin windowed用法及代码示例
- Kotlin indexOf用法及代码示例
- Kotlin reduceIndexed用法及代码示例
- Kotlin filterKeys用法及代码示例
注:本文由纯净天空筛选整理自kotlinlang.org大神的英文原创作品 kotlin.OverloadResolutionByLambdaReturnType。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。