Swiftで仮引数を持つイニシャライザをスマートに書く
Swiftで仮引数を持つイニシャライザをスマートに書く方法です。
仮引数がついたイニシャライザをもち、イニシャライズ時の値を定数として保持する Struct を作る時、private(set) var name = “snorlax” を使うと短くスマートに書くことができます。
プロパティが増えてもイニシャライザを編集する必要が無くなります。
Playground.swift
import Foundation
struct Pokemon {
let name: String
init(name: String = "snorlax") {
self.name = name
}
}
struct Pokemon {
private(set) var name = "snorlax"
}
let pokemon = Pokemon(name: "slowpoke")
// Cannot assign to property: 'name' setter is inaccessible
// pokemon.name = "snorlax"
print(pokemon.name)
