iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 12
0
Mobile Development

Android Kotlin開發 -小嫩雞的30篇精選筆記系列 第 12

Kotlin function : 可變參數與泛型參數

函式的參數

一個函式常常會需要傳入參數,而傳入的參數除了可以是基本型別,也可以花式傳入各種怪奇的參數,我們就來看看有哪些神奇用法。

  • 可變參數

可以傳入任意數量的參數,稱為可變參數。 利用vararg來定義。直接看例子:

fun main(args: Array<String>) {

    count(1,2,3,4,5)
}

fun count(vararg num:Int){ 
    for(i in num){
        print(i)
    }
}

參數num在函式中會是一個陣列(Array),根據呼叫時的參數順序來排序。
印出結果:
12345


  • 泛型參數

傳入的參數可以是任意型別,稱為泛型參數。 利用來表達。直接看例子:

fun main(args: Array<String>) {

    test(1)
    test("hello")

}

fun <T> test(num:T){
    println(num)
}

印出結果:
1
hello


  • 可變參數+泛型參數

fun main(args: Array<String>) {

    test(2,6,7,"a",5)

}

fun <T> test(vararg num:T){
    var list = mutableListOf<T>()
    for(i in num){
        list.add(i)
    }
    println(list)
}

印出結果:
[2, 6, 7, a, 5]


  • higher-order function高階函式

直接把函式當作參數傳遞,今天累惹下一篇再說。


上一篇
Android x Kotlin : 華麗的AppBar滾動佈局
下一篇
Kotlin : higher order function高階函式、lambda表達式、inline function內聯函式
系列文
Android Kotlin開發 -小嫩雞的30篇精選筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言