面试题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.
被截断,因此不合法。
我在万维网上找到面试问题,其中之一是:
下面代码片段的输出是什么:
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.
被截断,因此不合法。