- 课程名称:一课掌握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::barreceiver没有的情况 val m0: Function3<Foo, String, Long, Any>Foo::bar (Foo, String, Long) -> AnyFoo.(String, Long) -> AnyFunction3<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 点赞
										
				 评论
				共同学习,写下你的评论
评论加载中...
作者其他优质文章
					正在加载中
				
			感谢您的支持,我会继续努力的~
		扫码打赏,你说多少就多少
		赞赏金额会直接到老师账户
		支付方式
		打开微信扫一扫,即可进行扫码打赏哦
	 
                 
            

 
			 
					 
					