「Swift5」ジェネリクスクラスを使うサンプル

2022年1月26日

環境
Swift version 5.2.3 (swift-5.2.3-RELEASE)
Target: x86_64-unknown-linux-gnu

書式

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class クラス名<T> {
var 変数名: T
init(変数名: T){
self.変数名 = 変数名
}
}
class クラス名<T> { var 変数名: T init(変数名: T){ self.変数名 = 変数名 } }
class クラス名<T> {
 var 変数名: T
 init(変数名: T){
  self.変数名 = 変数名
 } 
}

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
//クラスEmployeeの定義 ジェネリクスクラス
class Employee<T> {
//ジェネリクスクラスの変数の宣言
var count: T
//変数の初期化
init(count: T) {
self.count = count
}
}
let cftB = Employee(count: "456")
print("String型変数の出力")
print(type(of: cftB.count))
print(cftB.count)
let cftA = Employee(count: 110)
print("Int型変数の出力")
print(type(of: cftA.count))
print(cftA.count)
//クラスEmployeeの定義 ジェネリクスクラス class Employee<T> { //ジェネリクスクラスの変数の宣言 var count: T //変数の初期化 init(count: T) { self.count = count } } let cftB = Employee(count: "456") print("String型変数の出力") print(type(of: cftB.count)) print(cftB.count) let cftA = Employee(count: 110) print("Int型変数の出力") print(type(of: cftA.count)) print(cftA.count)
//クラスEmployeeの定義 ジェネリクスクラス
class Employee<T> {
    //ジェネリクスクラスの変数の宣言
    var count: T
    
      //変数の初期化
    init(count: T) {
        self.count = count
    }
    
}

let cftB = Employee(count: "456")
print("String型変数の出力")
print(type(of: cftB.count)) 
print(cftB.count)
 
let cftA = Employee(count: 110)
print("Int型変数の出力")
print(type(of: cftA.count))
print(cftA.count)

実行結果

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ swift 23.swift
String型変数の出力
String
456
Int型変数の出力
Int
110
$ swift 23.swift String型変数の出力 String 456 Int型変数の出力 Int 110
$ swift 23.swift
String型変数の出力
String
456
Int型変数の出力
Int
110

 

Swift

Posted by arkgame