Swift5.1で追加されたFunctionBuilderを使ってStructを作る
Swift5.1で追加されたFunctionBuilderを使ってStructを作る方法です。 SwiftUI でも活躍していますね。
FunctionBuilder.swift
public struct Company: CustomStringConvertible {
let name: String
let president: String
let numberOfEmployees: Int
let adress: String
public var description: String {
return "name: \(name), president: \(president), numberOfEmployees: \(numberOfEmployees), adress: \(adress)"
}
}
@_functionBuilder public struct CompanyBuilder {
public static func buildBlock(_ name: String, _ president: String, _ numberOfEmployees: Int, _ adress: String) -> Company {
Company(name: name, president: president, numberOfEmployees: numberOfEmployees, adress: adress)
}
}
@CompanyBuilder
func myFunc() -> Company {
"株式会社すいすいSwift"
"カビゴン小野"
1
"神奈川"
}
let company = myFunc()
print(company.description)
