menu
announcement

Spectrum is now read-only. Learn more about the decision in our official announcement.

SpecFM

A network of designers and developers making the best podcasts, blogs, and resources for designers and developers.

Channels
Team

150: Learning Kotlin - Returns, Jumps & Labels

January 21, 2019 at 5:19pm

150: Learning Kotlin - Returns, Jumps & Labels

January 21, 2019 at 5:19pm
In 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 25
for (i in 1..100) {
if (i > 25) {
break
} else {
println(i)
}
}
// Skip all even numbers
for (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 loop
else 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 loop
else println("i: $i, j: $j")
}
}
// returns with label
example1()
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.
No messages yet