# 全局变量和局部变量

一般来说，全局变量和局部变量都是存储型的变量。

## 计算属性

全局变量和局部变量也可以定义为计算型的变量。

```swift

var realObj1 : String =  "dadas"

// 全局变量和局部变量可以定义为计算属性
var obj1 : String {
    set{
        realObj1 = newValue
    }
    get{
        realObj1
    }
}


```

## 属性观察器

```swift

var obj1 : String {
    willSet{
        obj1 = newValue
    }
    didSet{
        obj1
    }
}

```

**Tip**

* 全局的常量或变量都是延迟计算的，跟 `延时加载存储属性` 相似，不同的地方在于，全局的常量或变量不需要标记 `lazy` 修饰符。
* 局部范围的常量和变量从不延迟计算。
