はじめに
非常に簡単ではあるが改めてスコープの範囲についてまとめる。
結論
- スコープにはアクセスできる範囲とできない範囲がある。
- {} ← スコープとはコレのことである。
- スコープ外にアクセスするにはグローバル変数などにする必要がある。
詳細
- スコープ内の変数や定数はスコープ内でのみアクセス可能
スコープ内の定数numはスコープ内でのみアクセス可でき、print関数で出力可能。それとは逆にスコープ外でのアクセスやprint関数で出力しようとも出力は不可能である。(スコープ外だと定数numは破棄される)
Swift
for i in 1...10 {
//スコープ内の定数
let num = i
print(num)
}
num //スコープ外のためnumは出力されない(numは破棄される)
- スコープ外の変数や定数はグローバル変数・定数と良い、どのファイルからもアクセスが可能
グローバル定数num1はスコープ外でもアクセスでき、print関数でも出力可能。
Swift
//グローバル変数
var num1 = 0
for i1 in 1...10 {
num1 = 1
}
print(num1) //num1はグローバル変数のため出力可能
おわりに
基礎が抜けていることは割とある。そのため、適度な復習はマジで大切。
参考記事
Swiftにおけるスコープの基礎概念
scope/developer.apple.com
開発環境
- Xcode-13.4.1
- iOS13以降