函数的定义
函数的定义.png方法VS函数
*方法是函数的一种特殊类型
*有receiver的函数即为方法
*类比java的话
*比如类中的函数就是方法
函数的类型
函数的类型.png函数的引用和传递
函数的引用.png举一个例子,定义两个函数:
fun method1() : Unit{
Log.i("shawn","method1")
}
fun method2(a:()->Unit){
Log.i("shawn","method2")
a()
}
调用:method2 { method1() }
打印的结果:
method1
method2
解析:把method1作为参数传递给method2
变长参数
fun method1(vararg a:Int){
Log.i("shawn",a.contentToString())
}
调用:method1(1,2,3,4)
解析:在调用时,确定参数的具体个数
多返回值
函数默认参数
注意:默认参数只能放到参数列表的最后
fun method1( a:Int = 1,b:String = "123"){}
调用:method1(1),第二个参数有默认值,可以不用传值
具名参数
fun method1( a:Int = 1,b:String){}
调用:method1(a=1,b="123")
注意:使用具名函数就可以不用在意传参的对应顺序,可以这么写method1(b="123",a=1)
网友评论