👌

struct とは?

に公開

structとは?

struct は値型です。
プロパティやメソッドを定義することによって様々なデータや振舞いを形成することができます。

値型とは?

値型とは、変数の値が参照ではなく直接、値をもつ型のことをいいます。変数や定数に値が代入されたときや関数に渡されたときに、新たに値がコピーされてメモリ領域を確保します。複数のインスタンスで値を共有することはなく、一度代入された値は再代入をしない限りは不変です。そのため、値の変更が予測しやすいようになっています。

struct の定義方法

struct 名前 {

}

異なる変数に代入されてもコピーされ独立したデータとなる

簡単に言うと
struct: 値型→ コピーされる
class: 参照型 → 共有される

struct Person {
  var name: String
  var age: Int
}

var person1 = Person(name: "Tomo", age: 33)
var person2 = Person(name: "Yutaro", age: 23)

var person3 = person1
person3.name = "Taro" → これをクラスでやった場合、person1.name もTaroに変わる
print(person3.name)Taro

Discussion