BuilderInference
所在位置是kotlin.BuilderInference
,其相关用法介绍如下。
用法:
@Target([AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY]) @ExperimentalTypeInference annotation class BuilderInference
允许从函数的注释函数参数中的调用推断函数的泛型类型参数。
当此注解放置在函数的泛型函数参数上时,它可以从传递给该参数的 lambda 主体推断该泛型函数的类型参数。
影响推理的调用或者是带注释的函数参数的接收器类型的成员,或者是该类型的扩展。扩展本身必须使用 @BuilderInference
进行注释。
示例:我们声明
fun <T> sequence(@BuilderInference block: suspend SequenceScope<T>.() -> Unit): Sequence<T>
并像使用它一样
val result = sequence { yield("result") }
在这里,结果序列的类型参数从 SequenceScope.yield 函数的参数推断为 String
,该函数在传递给 sequence 的 lambda 内部调用。
注意:此注释是实验性的,请参阅ExperimentalTypeInference 了解如何选择加入它。
相关用法
- Kotlin BuilderInference.<init>用法及代码示例
- Kotlin Byte.inc用法及代码示例
- Kotlin Byte.dec用法及代码示例
- Kotlin associateBy用法及代码示例
- Kotlin all用法及代码示例
- Kotlin map用法及代码示例
- Kotlin filterNot用法及代码示例
- Kotlin reduceRight用法及代码示例
- Kotlin Random.Default用法及代码示例
- 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用法及代码示例
注:本文由纯净天空筛选整理自kotlinlang.org大神的英文原创作品 kotlin.BuilderInference。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。