Swift中布尔变量赋值的两种写法:执行效率是否有差异?
两种布尔变量赋值写法的执行速度与可读性分析
你提到的两种写法在执行速度上几乎没有任何差异,原因很简单:现代编译器(比如Swift的编译器)会自动对这类代码做针对性优化。
第一种写法的分支判断:
if jobListView.tableView.jobIds.count > 0 { container.isHidden = false } else { container.isHidden = true }
本质上就是在根据条件给container.isHidden赋值布尔值,编译器能完全识别这种逻辑模式,最终会把它优化成和第二种写法完全一致的机器码——两者的执行效率没有区别。
第二种写法:
container.isHidden = jobListView.tableView.jobIds.count <= 0
直接将布尔表达式的结果赋值给变量,逻辑清晰且没有冗余代码。
关于可读性的补充
你认为第二种写法可读性更强的判断完全正确。这种写法直接把变量的取值逻辑暴露出来,不需要读者额外解析分支里的赋值逻辑,代码更紧凑,也更符合Swift这类现代语言的惯用风格,日常开发里更推荐这种写法。
内容的提问来源于stack exchange,提问作者Deepak Terse
相关产品推荐
相关产品推荐

