iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 8
0
Software Development

初探Kotlin系列 第 8

[Day 8] Returns and Jumps

  • 分享至 

  • xImage
  •  

Break and Continue Labels

在Kotlin中任何表達式都可以加上標籤
在識別的標籤後加上**@** 如abc@ fooBar@

loop@ for (i in 1..100) {
    // ...
}

可以使用標籤執行break和continue

loop@ for (i in 1..100) { 
    for (j in 1..100) { 
        if (...) break@loop 
    } 
}

如果if成立則break跳到loop@繼續執行

Return at Labels

fun foo() {
    ints.forEach {
        if (it == 0) return  
        print(it)
    }
}

foo()會在 if(it == 0) 這行return

加上標籤後

fun foo() {
    ints.forEach lit@ {
        if (it == 0) return@lit
        print(it)
    }
}

程式執行至 if(it == 0) 時只會return到 ints.forEach lit@ 這行 接著繼續執行

也可以用一個匿名函數替代lambda表達式

fun foo() {
    ints.forEach(fun(value: Int) {
        if (value == 0) return  
        print(value)
    })
}

上一篇
[Day 7] Control Flow
下一篇
[Day 9] Classes and Inheritance-1
系列文
初探Kotlin19
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言