面试题Swift,语法难懂

Interview question Swift, incomprehensible syntax

我在万维网上找到面试问题,其中之一是:

下面代码片段的输出是什么:

class Kondana<T:Equatable> {
    var dictDataHolder = [String:T]()
    func add(value:T?,using key:String) -> T? {
         self.dictDataHolder[key] = value
         return value
    }
}
var fortOne = Kondana<String>()
let value = fortOne.
print(value)

答案是:

a) British
b) nil
c) compile-time error
d) segmentation fault

我是 运行 Xcode 中的这段代码,我的输出是:

__lldb_expr_21.Kondana<Swift.String>

请帮助我逐步了解发生了什么。 我对正在发生的事情有想法,但不确定。 什么是 Kondana class 以及为什么使用上面的语法,我知道这是通用的但不理解输出?

根据贴出的代码,正确答案是“编译时错误”。正如其他人所说,行

let value = fortOne. 

被截断,因此不合法。