package com.talios.kotlin
fun sayHello(name: String) {
println("Hello " + name)
}
package com.talios.kotlin
fun sayHello(name: String) {
println("Hello $name")
}
package com.talios.kotlin
fun String.wrapDiv(cssClass: String = "") = "$this"
fun sayHello(name: String) = println("Hello $name".wrapDiv())
fun shoutHello(name: String) = println(
"hello $name".wrapDiv(cssClass="loud")
fun lock<T>(lock : Lock, body : () -> T) : T {
lock.lock()
try {
return body()
}
finally {
lock.unlock();
}
}
fun toBeSynchronized() = sharedResource.operation()
val result = lock(lock, ::toBeSynchronized)
val result = lock(lock, { sharedResource.operation() })
lock (lock) {
sharedResource.operation()
}
// Define extension to Int fun Int.shl(x: Int) { .. } // call extension function using infix notation 1 shl 2 // is the same as 1.shl(2)
data class Person(first: String, last: String, age: Integer)
data class Person(first: String, last: String, age: Integer)
val bob = Person("Bob", "Dobalina", 37)
val (first, last, age) = bob
class Person {
fun component1(): String =...
fun component2(): String =...
fun component3(): Integer =...
}