1.函数
2. 函数声明
fun 函数名
(参数列表
) : 返回值类型
{ 函数体
return 返回值
}
3. 返回值声明
fun
makeFood():Unit
{
println("正在做饭...")
}
fun
getName():String
{
return "Tom"
}
fun
writeFile():Nothing
{
throw Exception()
}
4. 函数参数
4.1 命名参数调用
fun
main(args
: Array
<String>) {
sayInfo(age
= 19,name
= "Tom")
sayInfo("lucy",20)
}
fun
sayInfo(name
:String
,age
:Int
){
println("name:$name age:$age")
}
4.2 默认参数调用
fun
main(args
: Array
<String>) {
sum()
sum(20.0)
sum(50.0,30.0)
}
fun
sum(a
:Double
=10.0,b
:Double
=20.0){
println("$a + $b =${a+b}")
}
10.0 + 20.0 =30.0
20.0 + 20.0 =40.0
50.0 + 30.0 =80.0
4.3 可变参数调用
fun
main(args
: Array
<String>) {
getToal(1,2)
getToal(1,2,3,4,5)
}
fun
getToal(vararg num
:Int
){
var toal
:Int
=0;
for (i in num
){
toal
+=i
}
println(toal
)
}
5. 表达式函数
如果在函数体中表达式能够表示成为单个表达式时,那么函数可以采用更加简单的表示方 式
fun
getNameLength(name
:String
):String
{
return name
.length
}
fun
getNameLength(name
:String
)=name
.length
6. 局部函数
函数套函数
fun
getToalNum():Int
{
var toal
:Int
=0
fun
toal(vararg nums
:Int
){
for (i in nums
){
toal
+=i
}
}
toal(2,3)
return toal
}
7. 匿名函数
fun
main(args
: Array
<String>) {
getnums("+")(10,20)
}
fun
getnums(c
:String
):(Int
,Int
)->Int
{
if (c
=="+")
return fun
(a
,b
)=a
+b
else
return fun
(a
,b
)=a
-b
}
转载请注明原文地址: https://lol.8miu.com/read-22809.html