Я не понимаю все, что вы просите.=
здесь не оператор присваивания.Это просто более короткий способ написания метода:
fun main() = print("Do I return something?")
эквивалентен
fun main(): Unit {
return print("Do I return something?")
}
А поскольку тип возвращаемого значения print()
равен Unit
, он эквивалентен
fun main() {
print("Do I return something?")
}
Подробнее см. в документации .
Однако в следующем фрагменте =
- это оператор присваивания:
fun main() {
val x = println()
print(x)
}
Таким образом, этот код вызывает println()
и присваивает то, что он возвращает (Unit
), переменной x
.Печать x
, таким образом, производит вывод kotlin.Unit
.