計(jì)算屬性和屬性監(jiān)視器所描述的模式也可以用于全局變量和局部變量,全局變量是在函數(shù)、方法、閉包或任何類型之外定義的變量,局部變量是在函數(shù)、方法或閉包內(nèi)部定義的變量。
前面章節(jié)提到的全局或局部變量都屬于存儲(chǔ)型變量,跟存儲(chǔ)屬性類似,它提供特定類型的存儲(chǔ)空間,并允許讀取和寫入。
另外,在全局或局部范圍都可以定義計(jì)算型變量和為存儲(chǔ)型變量定義監(jiān)視器,計(jì)算型變量跟計(jì)算屬性一樣,返回一個(gè)計(jì)算的值而不是存儲(chǔ)值,聲明格式也完全一樣。
注意:
全局的常量或變量都是延遲計(jì)算的,跟延遲存儲(chǔ)屬性相似,不同的地方在于,全局的常量或變量不需要標(biāo)記@lazy特性。
局部范圍的常量或變量不會(huì)延遲計(jì)算。