簡體   English   中英

如何比較 Swift 中的類型?

[英]How to compare types in Swift?

我在 Swift 文件中聲明了兩個變量,其值如下:

let m = 1
let n = 2

現在,我想比較它們的類型:

type(of: m) === type(of: n)

出現以下編譯錯誤:

Argument type 'String.Type' expected to be an instance of a class or class-constrained type

有沒有辦法比較類型?

另外,為什么這條線會失敗?

String === String

===運算符只為引用類型定義,因為它檢查引用(指針)是否相等,所以你不能在值類型的元類型上使用它。

但是,您可以使用正常的相等運算符==

type(of: m) == type(of: n)

至於String === String ,那甚至不是有效的代碼。 如果String.self == String.self你需要什么。 您可以使用TypeName.self訪問元類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM