Swift value Initialization `= Type()` 安全且有默认值?
Swift value Initialization `= Type()` safe and has a default value?
在我 Swift 旅程的某个地方,有人说服我......
var myFloat = Float()
...用默认值(在本例中为 0.0)初始化 myFloat
。所以实际上,它与...相同
var myFloat: Float = 0.0
在一位同事要求证明这一点之后(特别是如果原始 myFloat
在其他地方被更改之前被访问就没有崩溃的可能性,我搜索了一些 Apple 文档,我是没有找到明确的答案。有人碰巧知道任何有据可查的资料来源或有证据证明这种说法是错误的吗?
谢谢!
如果您查看 Float
的 init()
的 documentation,它指出:
Creates a value initialized to zero.
所以是的,行:
var myFloat = Float()
和
var myFloat: Float = 0.0
给出相同的结果。名为 myFloat
的变量,类型为 Float
,值为 0.0
.
我个人喜欢第二个选项,因为它很明确。对于某些类型,它更短:
var myDouble = 0.0
var myInt = 0
var myBool = false
在我 Swift 旅程的某个地方,有人说服我......
var myFloat = Float()
...用默认值(在本例中为 0.0)初始化 myFloat
。所以实际上,它与...相同
var myFloat: Float = 0.0
在一位同事要求证明这一点之后(特别是如果原始 myFloat
在其他地方被更改之前被访问就没有崩溃的可能性,我搜索了一些 Apple 文档,我是没有找到明确的答案。有人碰巧知道任何有据可查的资料来源或有证据证明这种说法是错误的吗?
谢谢!
如果您查看 Float
的 init()
的 documentation,它指出:
Creates a value initialized to zero.
所以是的,行:
var myFloat = Float()
和
var myFloat: Float = 0.0
给出相同的结果。名为 myFloat
的变量,类型为 Float
,值为 0.0
.
我个人喜欢第二个选项,因为它很明确。对于某些类型,它更短:
var myDouble = 0.0
var myInt = 0
var myBool = false