跟其他語言類似,kotlin 有三種跳出結構方式:
ø return
預設情況下,從最近的乙個封閉的方法或者 方法表示式跳出.
ø break.
終止最近的封閉迴圈
ø continue.
直接進入迴圈體的下次迴圈
在kotlin中任何表示式都可以用label (標籤)來標記。label的格式是被'@'識別符號標記,例如:abc@, foobar@都是有效的label:
如果有多重迴圈,帶標籤的break會跳轉出標籤所指示的那乙個迴圈。帶標籤的continue會跳轉到標籤所指向的那個迴圈,進入該迴圈的下一次迴圈。
//可以在乙個方法前面放乙個label。
loop@ for (i in1..100) 或者continue一起使用
// break執行後將跳轉到標記處
// continue將進入迴圈體的下次迴圈
loop@ for (i in1..100)
在kotlin裡,函式字面量、區域性函式和物件表示式等函式都可以被巢狀在一起適當的返回方式允許我們從外部方法返回值。
帶標籤的return,最重要的乙個用途,就是讓我們可以從函式字面量中返回。
fun foo()
表示式從最近的封閉的方法中返回,例如
『foo』
。注意,非全域性的返回只支援內部方法,參見內聯方法
;如果我們只是需要跳出內部方法,我們必須標記它並且返回這個標籤。
fun foo()
}//另外,也可以使用匿名標籤實現
fun foo()
}//另外,還可以用乙個方法表示式替代內部匿名方法。在方法內部宣告乙個return將從其內部返回
fun foo() )}
如果需要在返回的時候帶有乙個值:
return@a1
表示「在標籤@a上返回1」,而不是「返回乙個帶標籤的表示式(@a 1)」。
Kotlin學習之 4 3 4 返回和中止迴圈
kotlin 有3中結構化的跳轉語句 所有這些表示式都可以被用來組成更大的表示式 val s person.name returnkotlin中的任何表示式都可以被 標記成乙個標籤label,標籤由乙個識別符號和緊跟的 組成,例如 abc foobar 是合法的標籤命名。想要把乙個表示式定義成標籤,...
Kotlin語法之變數和函式的定義
方法的定義,a,b為變數名 fun 方法名 變數名 變數型別 返回值型別 fun sum a int,b int int 當表示式作為函式體的時候,可以省去返回值型別 由函式自己推斷 fun sum1 a int,b int a b 當不需要返回值型別的時候可以宣告為unit,也可以省略 fun p...
Kotlin語法(函式和lambda表示式)
fun double x int int函式引數是用 pascal 符號定義的 name type。引數之間用逗號隔開,每個引數必須指明型別。函式引數可以有預設引數。這樣相比其他語言可以減少過載。fun read b array,off int 0,len int b.size 在呼叫函式時可以引數...