gotlin/examples/showcase.gt

49 lines
1 KiB
Text

package examples.showcase
import fmt
import strings
interface Greeter {
fun greet(name: String): String
}
class PrefixGreeter(val prefix: String): Greeter {
fun greet(name: String): String {
return prefix + " " + name
}
}
fun main() {
val greeter: Greeter = PrefixGreeter("hello")
println(greeter.greet("gotlin"))
val names = listOf<String>("ada", "linus")
val scores = mapOf<String, Int>("ada", 10, "linus", 8)
println(names)
println(scores)
val upper = strings.ToUpper("gotlin")
fmt.Println("interop:", upper)
val maybe: String? = null
if (maybe == null) {
println("null check works")
}
runBlocking {
val ready = Channel<String>()
launch {
delay(120)
ready.send("timer fired")
}
select {
ready -> println("channel says: " + it)
}
val answer = async<Int> {
delay(50)
return 42
}
fmt.Println("async value:", answer.await())
}
}