swift - 使用 typealias 时,出现编译器错误 "use of undeclared type"

标签 swift type-alias

我是 Swift 的新手,正在尝试学习类型别名的概念。我尝试编译以下代码:

var x = 23
typealias y = x // compiler output: use of undeclared type x
print(y)

但是,编译器告诉我“使用未声明的类型 x”。

我很困惑为什么会这样。我认为 Swift 可以隐式推断变量类型。有什么我想念的吗?

最佳答案

您可以使用 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

关于swift - 使用 typealias 时,出现编译器错误 "use of undeclared type",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34736589/

相关文章:

Swift 在递归使用时假定泛型类型

c++ - 带有类型别名的函数指针参数

参数中的 Swift 复杂类型

c++ - 怎么会?特征中未检测到别名

c++ - 如何定义可变参数模板的参数?

swift - 如何在 swift 中使用泛型定义类型别名

ios - 设置值时重复子节点 Firebase

ios - 如何在变量中存储 Swift 函数

swift - OR 语句可以在 Swift 中串联吗?

ios - (Swift) 如何在字符串中打印 "\"字符?