Error : Variable used within its own initial value with type(of:) function

Error : Variable used within its own initial value with type(of:) function

Apple 在 Swift 标准 document 中:

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

它给出一个错误:Variable used within its own initial value

如何使用 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)'")
}