見出し画像

Swiftでいこう -- Extensionsで拡張!

計算プロパティ(class、struct)
タイププロパティ
メソッド
subscript
プロトコル など

に機能を追加できます。

たとえば、

var num:Int = 9

変数"num"は"Intの型"の数字を指定しています。

この"Int"に機能を持たします。"Int"を指定して定義するときに使えるようになります。

まずはextensionしてみましょう。

extension

という接頭語をつけます。例えば、

"extension Int{
処理
}"

具体的に

extension Int{
   var aa:Int{return self * 2}
}

と書いて、計算プロパティを追加します。

この場合は、変数"aa"に"self"なので自身を2倍する掛け算、

self * 2

を表しています。

なので、使ってみます。

var num:Int = 9

extension Int{
    var aa:Int{return self * 2}
}

print(num.aa) // "18"と表示されます。

"num.aa"とすることで計算することができました。

"Int"自体を拡張しているので、"Int"で定義される数字、整数と見なされれば使えます。

例えば"3"という数字は整数になりますね。それでは、

print(3.aa)

としてみると、"6"と表示されます。整数としてみなされるものはプロパティ "aa"が使えるようになっています。

この記事が気に入ったらサポートをしてみませんか?