
Swiftにおける型(値型・参照型)について
Swiftにおける型(値型・参照型)について説明していく。
最近Swift言語を勉強しており
その中で型がJavaとかと少し違ったので記載していきたいと思う。
まず、型には値型と参照型が存在する。
値型とは、その変数の中に実際の値(リテラル)が格納される型である。
一方
参照型とは、その変数の中には実際の値ではなく、値が入った場所の参照情報(アドレス)が格納される型である。
JavaやC#などを扱ったことがある方であればわかると思うが、
> intやdoubleなどが値型。objectやStringが参照型。
このようなイメージが刷り込まれているだろう。
しかし、Swift言語ではそこが異なってくる。
Swift言語は基本的に値型がメインの言語らしいのだ。
intやdoubleは同様に値型なのだが、Stringや配列も値型になる。
今までJavaばかりいじってきた私からすると、これはかなり衝撃だった。
今まで参照型でやって来たものが値型になることで、
できることができなくなったり、意識してたものが意識しなくて良くなっただろう。
これは私の知識量ではメリットなのかデメリットなのかまだよく分からないが、
型の違いがあることをこれからの開発で留意していこうと思う。