没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论


















Kotlin中双冒号中双冒号::使用方法使用方法
主要给大家介绍了关于Kotlin中双冒号::使用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者
使用Kotlin具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
Kotlin 中 双冒号操作符 表示把一个方法当做一个参数,传递到另一个方法中进行使用,通俗的来讲就是引用一个方法。先来
看一下例子:
fun main(args: Array<String>) {
println(lock("param1", "param2", ::getResult))
}
/**
* @param str1 参数1
* @param str2 参数2
*/
fun getResult(str1: String, str2: String): String = "result is {$str1 , $str2}"
/**
* @param p1 参数1
* @param p2 参数2
* @param method 方法名称
*/
fun lock(p1: String, p2: String, method: (str1: String, str2: String) -> String): String {
return method(p1, p2)
}
这里需要注意的是,lock 函数 的第三个参数传入 method 时,要确定参数个数、类型、返回值都和其形参一致。
输出结果:
result is {param1 , param2}
如果我们需要调用其他 Class 中的某一个方法是:
写法为:
fun main(args: Array<String>) {
var d = Test()
println(lock("param1", "param2", d::getResult))
}
我们在 Class 中的某个方法中使用双冒号调用当前 Class 的内部方法时调动方式为:
class Test1 {
fun isOdd(x: Int) = x % 2 != 0
fun test() {
var list = listOf(1, 2, 3, 4, 5)
println(list.filter(this::isOdd))
}
}
一般情况,我们调用当前类的方法 this 都是可省略的,这里之所以不可省略的原因是
为了防止作用域混淆 , :: 调用的函数如果是类的成员函数或者是扩展函数,必须使用限定符,比如this
如果把 isOdd 写到 class 外部 (全局) 这里也是可以省略限定符。
总结总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。
资源评论


weixin_38746574
- 粉丝: 10
- 资源: 937
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于微信小程序的图书管理系统(服务端+小程序端)源码
- 壁纸_1.8.8_仅支持安卓13(公众号@极客geeking持续更新).apk
- 打外星人小游戏,运用pygame来实现打外星人小游戏
- Stress-Test-Driven Qualification of Integrated Circuits JESD47K
- 手机工具-华为一键解锁工具
- URP Shadow Receicer Shader
- 自定义改版UnityExcel插件
- Requirements for Handling ESDS Devices 防静电
- 1701165601027174_wireshark-4.2.0.tar.xz
- magiskmanager-5.8.1
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
