这个笔记包含函数、函数表达式、默认参数、具名参数
函数、函数表达式
以加法为例
1、函数第一种写法
首先,定义一个函数方法
fun add(x: Int, y: Int): Int{
return x+y
}
在代码中调用
var result = add(1, 2)
println("result is $result")
2、函数的第二种写法,调用时候的代码不变,讲函数创建、定义方法改为
fun add(x: Int, y: Int): Int = x + y
以上2种写法,结果一样
3、函数表达式
var i={x:Int,y:Int -> x+y}
println("i(3,5) is ${i(3,5)}")
日志:11-09 13:56:39.601 17460-17460/com.kotlin.demo I/System.out: i(3,5) is 8
4、函数表达式的另一种写法
var j: (Int, Int) -> Int = { x, y -> x + y }
var result=j(6,6)
println("result is $result")
日志:11-09 14:03:58.913 19504-19504/com.kotlin.demo I/System.out: result is 12
默认参数、具名参数
以计算圆的周长为例
class MainActivity : Activity() {
val Pi = 3.1415926f
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var p_1 = getCirclePerimeter(radius = 5f)
println("p_1 is $p_1")
println("-----")
var p_2 = getCirclePerimeter(1f, 5f)
println("p_2 is $p_2")
}
fun getCirclePerimeter(PI: Float = Pi, radius: Float): Float {
return 2 * PI * radius
}
}
对应日志:
11-09 14:28:28.817 24459-24459/? I/System.out: p_1 is 31.415924
11-09 14:28:28.817 24459-24459/? I/System.out: -----
11-09 14:28:28.817 24459-24459/? I/System.out: p_2 is 10.0