有人可以告诉我为什么这段代码# let func [g] a = g a ::[] ;;
输出此警告
警告8:此模式匹配并非详尽无遗。 以下是不匹配的值的示例: []
答案 0 :(得分:3)
参数let url = NSURL(fileURLWithPath: "/Path/to/file.ext"")
var resource : AnyObject?
do {
try url.getResourceValue(&resource, forKey: URLResourceKey.tagNamesKey)
var tags : [String]
if resource == nil {
tags = [String]()
} else {
tags = resource as! [String]
}
print(tags)
tags += ["Foo"]
try url.setResourceValue(tags, forKey: URLResourceKey.tagNamesKey)
} catch let error as NSError {
print(error)
}
将匹配单个元素列表,并将该元素绑定到[g]
。 g
会有效,但如果该函数应用了空列表func [f] a
或带有多个元素的列表func [] a
,该怎么办? 可以除了引发异常之外还能做什么?那是警告告诉你的。