欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Kotlin学习之定义函数

程序员文章站 2022-05-28 13:26:10
...

科特林学习之定义函数

@(科特林学习)

一,定义函数

科特林中的函数比的Java中的方法更灵活,用途更广,功能更强。

定义方式如下:

[访问控制符]  [修饰符]  fun  [<泛型标识符>]  [扩展接受类型.]函数名([参数列表])  [: 返回值类型]{
    函数体
}

共有如下9部分:
1. [访问控制符]:可省略。
-科特林中的访问控制符有:公共,保护,内部,私人。,如果没有声明,则默认为公共
2. [修饰符]:可省略。
-修饰符会给函数添加不同的功能,包括中缀内联
3. 乐趣:不可省略
。 -用来声明函数的关键字,是英语功能(函数)的缩写
4. 函数名:不可省略。
- 和爪哇方法名一样,遵循驼峰式命名。
5. [<泛型标识符>] 可省略
-与爪哇类似,如果返回值包含泛型,则需要在这里将函数标记为泛型函数
6. [扩展接收类型]:可省略。
-定义扩展函数时使用
7。[参数列表]:可省略。
- 每个参数都使用“ 形参名:形参类型 ”的形式,形参类型是不能省略的。
8. [:返回值类型]:可省略。
- 返回值类型可以是Kotlin和Java中的引用数据类型。
- 如果没有返回值,则返回值类型是单位,一般会省略。fun sayHello(name:String)= print("My name is ${name}.")
- 如果返回值类型可以通过单句的函数体推断出来,则可以省略返回值类型fun multiply(a:Double,b:Double)=a*b
。9. {函数体}:不可省略
- 函数体定义函数的行为,如果函数体只有一句,可以写成“=函数体”的形式。

//简写
fun multiply(a:Double,b:Double)=a*b

//完整
fun multiply(a:Double,b:Double):Double{
    return a*b
}

二,参数列表

  1. 默认参数
    • 科特林中的函数可以声明一个参数的默认值,在没有对应值输入时自动取默认值,大大减少了方法重载。
fun main(args: Array<String>) {

    val add = add(1.5, 5.0)//默认c为1.0
    print("\n"+add)//输出7.5

    val add1 = add(1.5, 5.0, 3.0)//输入c,不使用默认值,
    print("\n"+add1)//输出9.5
}

fun add(a:Double,b:Double,c:Double=1.0):Double{
    return a+b+c
}
  1. 可变数量参数
    • 使用可变参数的修饰参数列表的最后一项,表示这个参数的数量是可变的,与Java的中的” 形参类型...形参名 “相同。
    • 标记为可变参数的参数,在函数内表现为对应类型的数组。
fun main(args: Array<String>) {
    val add = add(3, 2, 1,2,3)
    print(add)
}

fun add(a:Int,b:Int,vararg n:Int):Int{
    var sum=a+b
    for (i in n) {
        sum+=i
    }
    return sum
}

学海无涯苦作舟

Kotlin学习之定义函数