当前位置:   article > 正文

Kotlin研发第二十四弹—— 动态类型_kotlin dynamic

kotlin dynamic

动态类型

  • 动态类型

动态类型

作为静态类型的语言,kotlin仍然拥有与无类型或弱类型语言的调用,比如JavaScript。为了方便使用,Dynamic应运而生

val dyn:dynamix=
  • 1

dynamic类型关闭了kotlin的类型检查:

这样的类型可以分配任意变量或者在任意的地方作为参数传递

任何值都可以分配为dynamic类型,或者作为参数传递给任何接受dynamic类型参数的函数

这样的类型不做null检查

dynamic最奇特的特性就是可以在dynamic变量上调用任何属性或任何方法

dyn.whatever(1, "foo", dyn) // 'whatever' is not defined anywhere
dyn.whatever(*array(1, 2, 3))
  • 1
  • 2

在JavaScript平台上这样的代码会按照现有的样子编译:Kotlin中的dyn.whatever(1)在生成的代码中变成JavaScript语言的dyn,whaatever(1)

动态调用可以返回dynamic作为结果,因此我们可以轻松实现链式调用:

dyn.foo().bar.bat()
  • 1

当动态调用传递一个lambda表达式时,所有的参数默认都是dynamic

dyn.foo{
    x->x.bat()//x is dynamic
}
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/538124
推荐阅读
相关标签
  

闽ICP备14008679号