Using Extension Functions for Enhanced Functionality

Extension functions allow you to add new functionalities to existing classes without modifying their source code. This is particularly useful for enhancing third-party libraries, making your code cleaner and more expressive. By using extension functions, you can keep your codebase organized and promote code reuse.

fun String.isEmailValid(): Boolean {
    return android.util.Patterns.EMAIL_ADDRESS.matcher(this).matches()
}

// Usage example
val email = "example@gmail.com"
if (email.isEmailValid()) {
    println("Valid email address")
} else {
    println("Invalid email address")
}