【Swift】変数・定数の種類は、記述する位置で決まります

Swiftで使われる変数・定数は、グローバル変数・定数、インスタンス変数・定数そしてローカル変数・定数の3種類に分かれます。(細かいことは置いときます)
そして種類によって有効範囲が異なります。

どこに記述されればどの種類になるか、有効範囲がどうなるか、下記コードでご理解いただけると思います。

import UIKit

var gGlobalVariable:Int = 0   //グローバル変数。class ViewController内で使えます。他にViewController(例えばInfoViewController)があれば、InfoViewController内でも使えます。
let gGlobalConst:Double = 1.1 //グローバル定数。class ViewController内で使えます。他にViewController(例えばInfoViewController)があれば、InfoViewController内でも使えます。

class ViewController: UIViewController {
    
    var gInstanceVariable: String = "Test"  //インスタンス変数。class ViewController内で使えます。
    let gInstanceConst: Int = 100           //インスタンス定数。class ViewController内で使えます。

    func test() {
        
        var LocalVariable:Int = 2       //ローカル変数。func test()内のみで使えます。
        let LocalConst:Double = 1.1     //ローカル定数。func test()内のみで使えます。
        
        //グローバル変数・定数をprintでコンソールに出力
        gGlobalVariable = 1.12  //変数なので変更してみます。
        print("gGlobalVariable",gGlobalVariable)
        print("gGlobalConst",gGlobalConst)
        
        //インスタンス変数・定数をprintでコンソールに出力
        gInstanceVariable = gInstanceVariable + "_InstanceVariable" //変数なので変更してみます。
        print("gInstanceVariable",gInstanceVariable)
        print("gInstanceConst",gInstanceConst)
        
        //ローカル変数・定数をprintでコンソールに出力
        LocalVariable += 1  //変数なので変更してみます。
        print("LocalVariable",LocalVariable)
        print("LocalConst",LocalConst)
        
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        test()   //func test()を実行
    }

}

上のコードをXcodeで実行すると、下記結果がコンソールに出力されます。

gGlobalVariable 1.12
gGlobalConst 0
gInstanceVariable Test_InstanceVariable
gInstanceConst 100
LocalVariable 3
LocalConst 1.1

コード中の変数名・定数名ですが、グローバル変数名・定数名、インスタンス変数名・定数名の先頭にgを付けるのは私の習慣で、名前から変数・定数の種類を理解できるようにしています。


変数・定数の種類について、記述する位置と有効範囲について説明いたしました。

コメント

コメントする

CAPTCHA


目次