6

在Apple 的Swift 标准文档中:

func printInfo(_ value: Any) {
   let type = type(of: value)
   print("'\(value)' of type '\(type)'")
}

它给出了一个错误:变量在其自己的初始值内使用

在此处输入图像描述

如何使用 Swift 4.1 解决此问题?

4

1 回答 1

4

这是一个文档错误。以前的功能是typeOf。最近的版本(不记得是哪一个)将其重命名为type. type编译器对局部变量和typeSwift 标准库中的函数感到困惑。

为局部变量使用不同的名称:

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)'")
}
于 2018-05-03T03:19:45.090 回答