はじめに
Swift学習を始めたばかりの頃、「どうしてこの書き方じゃ動かないんだろう…」という疑問やエラーにたくさん出会いました。
今回は、Swift初心者の向けに、自分自身が実際につまずいた初歩の文法を3つピックアップし、なぜそうなるのか?を初心者目線で解説していきます!
これからSwiftを学ぶ方の助けになれば嬉しいです!
① letとvarの使い分け
let name = "Taro"
name = "Tanaka" // エラー!
ちなみにJavascriptを勉強している人たちからすると、letとは変数として扱っているため、ややこしいかもしれないです...
解説
letは「定数」=一度代入したら変更できない
varは「変数」=後から値を変更できる
var name = "Taro"
name = "Tanaka" // OK
最初はすべてvarで書いても問題ないですが、慣れてきたら変更しないならletにしましょう!
② 型推論と型の明示
let age = "25"
let birthYear: Int = 2000
"25"は文字列だけど、25は数値(Int)なのか…?
StringとIntで混乱しがち
解説
Swiftは型安全な言語なので、型の違いにはとても厳しいです。
let age: Int = "25" // エラー!StringをIntに代入できない
初心者のうちは、明示的に型を書く練習をすると理解が深まります。
let age: Int = 20 // 正解
let name: String = "Tanaka" // 正解
③ Optional(オプショナル)とは何か?
var name: String? = nil
ここは自分も当初は、散々つまずいていました...
?と!が意味がわからなく、そもそもnilって何?の状態でした...
解説
Optionalとは「値があるかもしれないし、ないかもしれない」状態を表す型。
var name: String? = "Tanaka"
print(name) // Optional("Tanaka")
中身を取り出すにはアンラップが必要です。
if let unwrappedName = name {
print(unwrappedName)
}
注意
!で強制アンラップすると、nilだった時にクラッシュします。
自分自身の経験ですが、!で強制アンラップは、ほとんど使わないので頭に入れるぐらいで大丈夫です!
print(name!) // nameがnilならクラッシュします
最後に
今回紹介した3つは、自分自身の体験で当初つまづいたところでもあるので初歩の文法3選の記事を書いてみました!ぜひ、初学者の方は、この記事を参考にしてください!🙌