Swift入門メモ -ジェネリクス-
24 ジェネリクス
- 抽象化されたデータ型
- どのような型が来てもOK
<T>
->T
は何の型が来てもいいという意味
// ある整数を指定した個数分だけ集めた配列を返す関数 func getIntArray(item: Int, count: Int) -> [Int] { var result = [Int]() for _ in 0..<count { result.append(item) } return result } getIntArray(5, 5) // [5, 5, 5, 5, 5] /* getIntArrayを拡張してString型やFloat型にも対応させたい -> そのために使えるのがジェネリクス */ // 関数の後に型の名前を書く // 「T」は何の型が来てもいいという意味 func getArray<T>(item: T, count: Int) -> [T] { var result = [T]() for _ in 0..<count { result.append(item) } return result } // 整数型 getArray(3, 4) // [3, 3, 3, 3] // String型 getArray("EBC", 8) // ["EBC", "EBC", "EBC", "EBC", "EBC", "EBC", "EBC", "EBC"] // Float型 getArray(3.1419, 2) // [3.1419, 3.1419]
Javaにもこんなのあったような。。
一先ずドットインストール終了(^ν^)