gpt4 book ai didi

ios - 为什么我们不需要为局部变量提供初始值?

转载 作者:行者123 更新时间:2023-11-28 12:13:24 25 4
gpt4 key购买 nike

当我突然学习时,我想知道自己:为什么我们必须为全局(甚至超出类范围)变量提供初始值,但我们不必像这样对局部变量执行相同的步骤?有什么理由吗?

if importRequired {
let deleteObjectCount: Int
}

最佳答案

这是允许的,因为您的代码中从未使用过 deleteObjectCount。并且——这是与全局变量的区别——编译器可以检查这一事实。

你甚至可以这样做:

let importRequired = true

if importRequired {
let deleteObjectCount: Int
deleteObjectCount = 5
print (deleteObjectCount)
}

(例如修改常量 let 变量)因为编译器会检查常量是否只被写入一次,而这是在之前完成的em> 阅读它的值(value)。

相比之下,全局变量必须直接初始化,否则编译器无法保证它们在被初始化之前已经如此(因为可以从程序中的任何地方访问它们)。

关于ios - 为什么我们不需要为局部变量提供初始值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47673194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com