Swift3 中的可选结构
Optional struct in Swift3
我想声明一个存储可选结构的变量,如下所示:
struct my_struct{
var x: Double
var y: Double
}
var my_variable = my_struct?
我说这个语法在 Swift2 中是正确的吗?不幸的是,它不再适用于 Swift3。 "new" 实现此目标的方法是什么?
struct my_struct{
var x: Double
var y: Double
}
var my_variable:my_struct?
请注意,在 Swift 中,类型通常是大写和驼峰式的
struct MyStruct {
var x: Double
var y: Double
}
var myVariable: MyStruct?
该语法在 Swift 2 中也不起作用。
首先让我们使用一个 Swift 合规名称
struct MyStruct { ... }
您有两个选择:
myVariable : MyStruct?
声明了一个没有值的可选结构 (nil
)
myVariable : MyStruct? = MyStruct()
声明一个可选的空结构。
注意:考虑到您必须为第二种形式的结构的属性分配默认值,或者使用成员初始化器或编写自定义初始化器。
PS:不要将可选项用作 无关紧要 的借口。 Swift 鼓励您尽可能多地使用非可选类型。
我想声明一个存储可选结构的变量,如下所示:
struct my_struct{
var x: Double
var y: Double
}
var my_variable = my_struct?
我说这个语法在 Swift2 中是正确的吗?不幸的是,它不再适用于 Swift3。 "new" 实现此目标的方法是什么?
struct my_struct{
var x: Double
var y: Double
}
var my_variable:my_struct?
请注意,在 Swift 中,类型通常是大写和驼峰式的
struct MyStruct {
var x: Double
var y: Double
}
var myVariable: MyStruct?
该语法在 Swift 2 中也不起作用。
首先让我们使用一个 Swift 合规名称
struct MyStruct { ... }
您有两个选择:
myVariable : MyStruct?
声明了一个没有值的可选结构 (nil
)myVariable : MyStruct? = MyStruct()
声明一个可选的空结构。
注意:考虑到您必须为第二种形式的结构的属性分配默认值,或者使用成员初始化器或编写自定义初始化器。
PS:不要将可选项用作 无关紧要 的借口。 Swift 鼓励您尽可能多地使用非可选类型。