print("blue 值为: (magenta.blue)")
// 创建一个新的Color实例,通过三种颜色的外部参数名来传值,并调用构造器
let halfGray = Color(white: 0.5)
print("red 值为: (halfGray.red)")
print("green 值为: (halfGray.green)")
print("blue 值为: (halfGray.blue)")
以上程序执行输出结果为:
red 值为: 1.0
green 值为: 0.0
blue 值为: 1.0
red 值为: 0.5
green 值为: 0.5
blue 值为: 0.5
没有外部名称参数没有外部名称参数
如果你不希望为构造器的某个参数提供外部名字,你可以使用下划线_来显示描述它的外部名。
struct Rectangle {
var length: Double
init(frombreadth breadth: Double) {
length = breadth * 10
}
init(frombre bre: Double) {
length = bre * 30
}
//不提供外部名字
init(_ area: Double) {
length = area
}
}
// 调用不提供外部名字
let rectarea = Rectangle(180.0)
print("面积为: (rectarea.length)")
// 调用不提供外部名字
let rearea = Rectangle(370.0)
print("面积为: (rearea.length)")
// 调用不提供外部名字
let recarea = Rectangle(110.0)
print("面积为: (recarea.length)")
以上程序执行输出结果为:
面积为: 180.0
面积为: 370.0
面积为: 110.0
可选属性类型可选属性类型
如果你定制的类型包含一个逻辑上允许取值为空的存储型属性,你都需要将它定义为可选类型optional type(可选属性类
型)。
当存储属性声明为可选时,将自动初始化为空 nil。
struct Rectangle {
var length: Double?
init(frombreadth breadth: Double) {
length = breadth * 10
}