0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Swift初心者がつまずいた初歩の文法3選とそれぞれの解説をしてみました

Posted at

はじめに

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選の記事を書いてみました!ぜひ、初学者の方は、この記事を参考にしてください!🙌

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?