Я понимаю, что второй более читабелен
Это хороший аргумент.Начните с версии, с которой вам (или вашей команде) удобнее.
изменит ли это скорость выполнения?
Как уже упоминалось выше - профилируйте свое приложение и найдите узкие места в производительности.Затем вы можете решить, нужно ли улучшать эту конкретную часть.
В этом конкретном случае это не будет иметь никакого значения, компилятор достаточно умен, чтобы оптимизировать оба варианта.Вот упрощенный автономный пример: и
var hidden = false
func foo(n: Int) {
if n > 0 {
hidden = false
} else {
hidden = true
}
}
и
var hidden = false
func foo(n: Int) {
hidden = n <= 0
}
генерируют идентичный код сборки
.private_extern __T04main3fooySi1n_tF
.globl __T04main3fooySi1n_tF
.p2align 4, 0x90
__T04main3fooySi1n_tF:
pushq %rbp
movq %rsp, %rbp
testq %rdi, %rdi
setle __T04main6hiddenSbvp(%rip)
popq %rbp
retq
какВы можете проверить с помощью
swiftc -O -emit-assembly main.swift