Оба ваших примера вызывают CustomerData.typeOfCustomers()
.
В первом примере этот вызов записывает строку непосредственно в консоль, поэтому вы ее видите.
Во втором примеревызов возвращает строку, но ничего с ней не делает , поэтому строка просто отбрасывается.
Как и в большинстве современных языков, в Kotlin результатом вызова функции / метода является значение, изначение всегда является действительным утверждением;значение будет просто проигнорировано, если вы что-то с ним не сделаете.
Если вы вместо этого использовали это значение в вызове println()
:
println(CustomerData.typeOfCustomers())
… тогда вы увидите строку наконсоль, как и ожидалось. Или вы можете присвоить результат переменной:
val type = CustomerData.typeOfCustomers()
Или использовать его в выражении:
val message = "Call returned: " + CustomerData.typeOfCustomers()
Или вызвать один из его методов или использовать его любым другим способом.
В противном случае Kotlin сделает вызов, но просто проигнорирует результат.