ジェネリクスの使い方です。異なる型でも、同じ処理を実施したいときに便利です。
<h3> 実行環境 </h3>
Swift:4.1.2
Xcode:10.1
<h3>ジェネリクスの使い方 </h3>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. sampleWithInt(1)//1 sampleWithString("いち")//いち //Genericsを使うと、同じ関数に対して様々な型の引数を入れることができる。 sampleWithGenerics(1)//1 sampleWithGenerics("いち")//いち sampleWithGenerics(1.0)//1.0 } func sampleWithInt(_ a:Int){ print(a) } func sampleWithString(_ a:String){ print(a) } func sampleWithGenerics<T>(_ a:T){ print(a) } } |
全然関係ないですが、sampleWithGenerics(1.00)
とすると、1.0がprintされていました。Double型はそのような仕様になっているのかもしれません。
なお、<>を用いて、配列の宣言もできるので読む際は混同しないように気をつけよう。
1 |
var stringArray:Array<String> = ["テスト"] |