我是Swift的新手,正在尝试学习Type Aliases的概念。我试着编译下面的代码:
var x = 23
typealias y = x // compiler output: use of undeclared type x
print(y)
然而,编译器告诉我“使用未声明的类型x”。
我很困惑为什么会这样。我认为Swift可以隐含地推断出变量类型。有什么我想念的吗?
答案 0 :(得分:3)
您可以使用typealias来更轻松地声明更复杂的类型,例如:
typealias RGBA = (red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)
let redColor: RGBA = (1.0, 0.0, 0.0, 1.0)
redColor.red // 1
redColor.green // 0
redColor.blue // 0
redColor.alpha // 1
typealias CMYK = (cyan: CGFloat, magenta: CGFloat, yellow: CGFloat, black: CGFloat)
let cyanColor: CMYK = (1.0, 0.0, 0.0, 0.0)
cyanColor.cyan // 1
cyanColor.magenta // 0
cyanColor.yellow // 0
cyanColor.black // 0