我想在swift中了解Bool,如果Bool是基本数据类型(原始),那么为什么bool默认值为 nil
var test: Bool!
print(test) // nil
Run Code Online (Sandbox Code Playgroud)
在java Bool中,默认值为false
PGD*_*Dev 13
Bool,Bool!并且Bool?都是在不同的斯威夫特.
1. Bool是一个非可选的数据类型,可以有值 - true/false.您需要在初始化程序中初始化它或在使用它之前声明它.
var x : Bool = false
var x: Bool
init()
{
x = false
}
Run Code Online (Sandbox Code Playgroud)
2. Bool?是一个可选的数据类型,可以有值 - nil/true/false.要使用此类型,您需要使用它来打开它if let or force unwrapping.
var x: Bool?
if let value = x
{
//TODO: use value instead of x
}
Run Code Online (Sandbox Code Playgroud)
3. Bool!是一个隐式解包的可选数据类型,可以有值 - nil/true/false.这里的区别是它必须包含一个值才能使用它,否则它将导致runtime exception.由于它是隐式展开的,因此无需使用它进行展开if let or force unwrapping.
var x: Bool! //Must contain value before using
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8923 次 |
| 最近记录: |