150: Learning Kotlin - Returns, Jumps & Labels
January 21, 2019 at 5:19pm150: Learning Kotlin - Returns, Jumps & Labels
January 21, 2019 at 5:19pmIn this quick fragment, Donn talks about Kotlin Returns and Jumps with Labels and how to implement them in your app.
Shownotes
Code
data class Customer(val isPlatinum: Boolean)fun main() {val customer = Customer(false)println("Number of points customer has: ${calculatePoints(customer)}")// Break out of the loop once we're over 25for (i in 1..100) {if (i > 25) {break} else {println(i)}}// Skip all even numbersfor (i in 1..100) {if (i % 2 == 0) {continue} else {println(i)}}// Break out of the outer loop (which breaks out of the inner too) using a label[email protected] for (i in 1..100) {for (j in 100..200) {if (j > 150) [email protected] // This will break out of the inner loop and outer loopelse println("i: $i, j: $j")}}// Continue processing the next outer loop value when a condition is met.[email protected] for (i in 1..100) {for (j in 100..200) {if (j > 150) [email protected] // This will break out of the inner loop and outer loopelse println("i: $i, j: $j")}}// returns with labelexample1()example2()println("I'm done processing!")}fun calculatePoints(customer: Customer): Int {if (customer.isPlatinum) {return 100000} else {return 10}}fun example1() {listOf(1, 2, 3, 4, 5, 6, 7, 8, 9).forEach {if (it > 7) {return} else {println(it)}}println("This wont print :( because return exited the bar() function")}fun example2() {listOf(1, 2, 3, 4, 5, 6, 7, 8, 9).forEach [email protected] {if (it > 7) {} else {println(it)}}println("This will print! :) return exited the forEach!")}
Sponsors 🙏
Nevercode
Nevercode is taking Flutter revolution extremely serious and is prepared to offer kick-ass CI/CD for Flutter projects with codemagic.io . Check it out and get started at https://codemagic.io/
Sentry tells you about errors in your code before your customers have a chance to encounter them.
Check them out at: https://sentry.io/for/android/