我对 Swift 中关于var和关键字 { get set }的使用的协议有疑问。
从苹果文档:
如果协议要求属性是可获取和可设置的,则该属性要求无法通过常量存储属性或只读计算属性来满足。如果协议只要求属性是可获取的,那么任何类型的属性都可以满足该要求,并且如果这对您自己的代码有用,那么属性也是可设置的也是有效的。
属性要求总是声明为变量属性,前缀为 var 关键字。可获取和可设置属性在其类型声明后通过写 { get set } 表示,而可获取属性通过写 { get } 表示。
我不明白为什么我不能使用let。协议中只有get的var不只是let吗?
像这样的东西:
protocol someProtocol
{
var someProperty: String { get }
}
这不仅仅是:
protocol someProtocol
{
let someProperty: String
}
我错过了什么?