Swift入門メモ -extension-
23 extensionで機能拡張
- 既存のデータ型、クラス、構造体を拡張する
String
,Int
の基本データ型以外にもクラス・構造体・列挙型にも使える
- 何らかの機能を追加したいときに使う
extension String { var size: Int { // 自身の文字数を返す return countElements(self) } func ebc() -> String { // 何が何でも"EBC!!!!"しか返さない return "EBC!!!!" } } var s: String = "hoge" s.size // 4 s.ebc() //EBC!!!! extension Int { func fjhss() -> Int { // 自身の数から12を引く(中学何年生?) return self - 12 } } var age: Int = 12 age.fjhss() // 0 age = 33 age.fjhss() // 21