今回の内容
・関数の引数にGenericsを使ってみる
引数にGenericsを使うことで、呼び出し時に渡す引数の型を自由に指定できます、String , Int, Double,,,,,なんでもOKです。
サンプルコード
import UIKit
class ViewController: UIViewController {
// MARK: - View Lifecycle
override func viewDidLoad() {
super.viewDidLoad()
let stringGenerics = helloGenerics(first: "My name is Ichiro", second: "My name is Shohei")
let intGenerics = helloGenerics(first: 45, second: 28)
let doubleGenerics = helloGenerics(first: 180.0, second: 193.5)
let booleanGenerics = helloGenerics(first: false, second: true)
print("StringGenerics: \(stringGenerics)") // String型
print("IntGenerics: \(intGenerics)") // Int型
print("DoubleGenerics: \(doubleGenerics)") // Double型
print("BooleanGenerics: \(booleanGenerics)") // Boolean型
}
// MARK: - Private Methods
private func helloGenerics<T>(first: T, second: T) -> (T, T) { // 何の型でもOK
return (first, second)
}
}
一つの関数でstringGenericsではString型, intGenericsではInt型と型を柔軟に変更できるので便利ですね。