Junior — Middle
Ar galima palyginti Optional tipo objektus kode?
sobes.tech AI
Atsakymas iš AI
Swift'e, Optional tipo objektai gali būti lyginami tarpusavyje, jei jų įkapsuliuoto tipo palaiko lyginimą. Pavyzdžiui, jei turite Optional<Int>, galite naudoti operatorius == ir != jų palyginimui.
Lyginimas veikia taip:
- Jei abu reikšmės yra
nil, jie laikomi lygiais. - Jei vienas yra
nil, o kitas ne, jie nėra lygūs. - Jei nė vienas nėra
nil, lyginamos vidinės reikšmės.
Pavyzdys:
let a: Int? = 5
let b: Int? = 5
let c: Int? = nil
print(a == b) // true
print(a == c) // false
print(c == nil) // true
Jei tipas nepalaiko lyginimo, tiesiogiai lyginti tokio tipo Optional nėra įmanoma.