Fragmented - Android Developer Podcast

The Fragmented Podcast is a podcast for Android Developers hosted by Donn Felker and Kaushik Gopal. Our goal is to help you become a better Android Developer. We chat about topics such as Testing, Dependency Injection, Android Patterns and Practices, useful libraries and much more. We will also be interviewing some of the top Android Developers out there. Subscribe now and join us on the journey of being an Android Developer.

http://www.fragmentedpodcast.com

subscribe
share



 

150: Learning Kotlin - Returns, Jumps & Labels


Shownotes

  • Kotlin Returns and Jumps Documentation
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 donn@ for (i in 1..100) { for (j in 100..200) { if (j > 150) break@donn // 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. donn@ for (i in 1..100) { for (j in 100..200) { if (j > 150) continue@donn // 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 bin@ { if (it > 7) { return@bin } 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.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/
Contact
  • Discord chat or @fragmentedcast or our Youtube channel
  • @donnfelker and donnfelker (on Instagram)
  • @kaushikgopal and kaushikgopal (on Instagram)


share





 2019-01-21  19m