在检查 Swift 中 JSON 解析器时,我发现了以下代码:
description = "desc" <~~ json
我认为使用以下内容类似:
description = json["desc"]
它正确吗?如果不是,这个操作符是什么意思?
谢谢
你是正确的。但假设Swift旨在这样做是错误的。
我认为使用的解析器是Gloss,并且似乎他们已经编写了一个特定的运算符重载,用于表示description = json["desc"]
(或者在幕后一些其他内容使解析更容易)。该运算符在Swift中本身没有意义。但是它是由框架发明来进行解析的。
您可以在此处阅读有关运算符重载的内容。
编辑
我始终错误地将运算符重载和定义自定义运算符的术语混为一谈。运算符重载是指扩展现有运算符的实现,这与定义自己的自定义运算符不同。非常感谢@Giacomo Alzetta指出这一点!