0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

タカシAdvent Calendar 2022

Day 16

【Swift】スコープ(名前の有効範囲)とは

Posted at

スコープとは

変数、定数、関数、型の名前の有効範囲を表すもの。
スコープその範囲に応じて、グローバルスコープとローカルスコープの2種類に分類することができる。
同じスコープ内には同じ名前を複数存在させることはできず、変数、定数、関数、型が異なっていても名前は一意である必要がある。

ローカルスコープとは

関数や制御構文によって局所的に定義されるスコープをローカルスコープという。
ローカルスコープで宣言された定数や変数は、定義した関数や制御構文からのみアクセスでき、スコープの外部からは参照することができない。

func sampleFunction() {
    let a = "ドラえもん"
    print(a) // ドラえもん
}

print(a) // コンパイルエラー
sampleFunction() // ドラえもん

グローバルスコープ

どの関数にも型宣言にも含まれないプログラム全体から参照できるスコープをグローバルスコープと言う。

let a = "ドラえもん"
func sampleFunction() {
    print(a) // ドラえもん
}

print(a) // ドラえもん
sampleFunction() // ドラえもん

注意点

グローバルスコープはどこからでも同じ名前で参照できてしまい、影響範囲が大きく、ローカルスコープで宣言された変数や定数よりも説明的な命名が必要になるので、意味をコメントで残しておくのも良い。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?