在Apple 的Swift 标准文档中:
func printInfo(_ value: Any) {
let type = type(of: value)
print("'\(value)' of type '\(type)'")
}
它给出了一个错误:变量在其自己的初始值内使用
如何使用 Swift 4.1 解决此问题?
这是一个文档错误。以前的功能是typeOf
。最近的版本(不记得是哪一个)将其重命名为type
. type
编译器对局部变量和type
Swift 标准库中的函数感到困惑。
为局部变量使用不同的名称:
func printInfo(_ value: Any) {
let t = type(of: value)
print("'\(value)' of type '\(t)'")
}
或者显式引用函数:
func printInfo(_ value: Any) {
let type = Swift.type(of: value)
print("'\(value)' of type '\(type)'")
}