- 课程名称:一课掌握Kotlin 突破开发语言瓶颈
- 章节名称:
- 第3章:内置类型
- 3-5函数
- 第3章:内置类型
- 讲师姓名:bennyhuo
- 时间:2022-09-11 17:50
课程内容:内置类型-函数
复习
-
一等公民:函数。这是因为函数有自己的类型,可以赋值,传递,并在合适的条件下调用
-
函数返回类型如为Unit,相当于Java的void
-
要区分函数与方法
- 方法可以认为是函数的一种特殊类型
- 从形式上,有receiver的函数即为方法
- 所以说,方法就是外面套了一个类的函数,必须要通过这个类的实例来调用这个方法,这个实例就是receiver
-
函数类型
(参数列表) -> 函数返回类型
Receiver.(参数列表) -> 函数返回类型
,也可写成(receiver, 参数列表) -> 函数返回类型
-
函数的引用
-
类似C语言中的函数指针,可用于函数传递
函数声明 函数引用 fun foo() {} ::foo class Foo { fun bar(p0:String,p1:Long) : Any {……}}
Foo::bar val foo = Foo()
val m:(String, Long) -> Any = foo::bar
receiver没有的情况 val m0: Function3<Foo, String, Long, Any>
Foo::bar (Foo, String, Long) -> Any
Foo.(String, Long) -> Any
Function3<Foo, String, Long, Any>
Foo::ba
-
-
变长参数
fun main(args: Array<String>) { println(args.contentToString() }
fun main(vararg args: String) { println(args.contentToString())// 本质上就是IntArray类型 }
listOf(1, 2, 3)// 就是一个变长参数应用的例子
-
多返回值
fun multiReturnValues(): Triple<Int, Long, Double> { return Triple(1, 3L, 4.0) } val (a, b, c) = multiReturnValues()// 用解构方式获取返回值
-
默认参数(要作为参数列表中的最后一个)
fun defaultParameter(x: Int, y: String, z: Long = 0L) {//z有默认值 …… } defaultParameter(5, "abc")
-
具名参数
fun defaultParameter(x: Int = 5, y: String, z: Long = 0L) { …… } defaultParameter(y = "Hello")// 指定形参的名字
学习心得
这部分内容是与指令式编程不太一致的内容,更加抽象,但抓住重点,把函数当作普通对象来看待。
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦