/* * A long, fairly convoluted example of the elvis operator * an null safety in kotlin * * @author gtowell * Created: October 2021 */ fun main() { val aaa : String //println(aaa) val bbb: String? = null println(getLength(bbb)) println(getLength("aaa")) println(getLength1(bbb)) println(getLength1("aaa")) println(getLength3("bbbbbb")) println(getLength3(null)) println(getLength4("12345678")) println(getLength4(null)) //println(getLength5(null)) // will not compile } fun getLength(vv:String?):Int? { return vv?.length } fun getLength1(vv:String?):Int? { return (vv ?: "aaaaa").length } fun getLength3(vv:String?) = vv?.length fun getLength4(vv:String?) = if (vv!=null) { vv.length } else { null } fun getLength5(vv:String) = vv.length // fun getLength6(vv:String?) = vv.length // will not compile