# 全局变量和局部变量

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

## 计算属性

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

```swift

var realObj1 : String =  "dadas"

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


```

## 属性观察器

```swift

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

```

**Tip**

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://gitbook.existorlive.cn/kai-fa-yu-yan-xue-xi/swift/9.-lei-he-jie-gou-ti/shu-xing/2.4-quan-ju-bian-liang-he-ju-bu-bian-liang.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
