Sobes.tech
Junior

Šta je 'inferencija tipa' u Kotlinu?

sobes.tech АИ

Одговор од АИ

Тип инференција је способност компајлера да одреди тип променљиве или израза без да развојни програмер то јасно наведе. Компајлер анализира контекст (на пример, почетну вредност) и аутоматски додељује одговарајући тип.

Примери:

// Инференција типа за var
var count = 10 // Компилатор одређује тип Int
// count = "hello" // Грешка при компилацији: не може се доделити String у Int

// Инференција типа за val
val name = "Kotlin" // Компилатор одређује тип String
// name = "Java" // Грешка при компилацији: val је неизменљив

// Инференција типа за изразе
val sum = 5 + 3.14 // Компилатор одређује тип Double

Предности:

  • Скраћује количину кода, чинећи га читљивијим.
  • Смањује вероватноћу грешака везаних за несагласност типова ако нису јасно наведени.
  • Повећава продуктивност у развоју.

Важне тачке:

  • Инференција типа је ограничена. У неким случајевима (нпр. декларација променљиве без иницијалне вредности) потребно је јасно навести тип.
  • Променљиве које су декларативно објављене са var могу мењати вредност, али не и тип, након инференције.
var number: Int // Потребно је јасно навести тип јер нема иницијализације