Control flow as expressions – Kotlin

Expression adalah statement atau pernyataan yang menghasilkan nilai. Contoh berikut adalah expression yang menghasilkan nilai true .

Statement juga tidak selalu menghasilkan nilai, misal expression yang mendeklarasikan nilai variable:

Di Java, blok control flow seperti if..else  dan try..catch  adalah sebuah statement yang tidak menghasilkan nilai. Maka jika ingin mendefinisikan nilai ke sebuah variable, variable tersebut harus di-initialized diluar statement:

Di Kotlin, control flow if..else  dan try..catch  adalah sebuah expression. Artinya mereka bisa menghasilkan nilai secara langsung, atau mengembalikan nilai fungsi, atau juga bisa sebagai parameter untuk fungsi yang lain.

Contoh try..catch  diatas, nilai success adalah true jika blok try dieksekusi dengan sukses, sebaliknya bernilai false  jika ada exception.

Expression tidak harus satu baris, bisa juga berupa blok. Namun baris terakhir dari blok tersebut haruslah sebuah expression yang menghasilkan nilai.

 

abhiemanyu