0Pricing
Swift Academy · レッスン

オプショナル入門:?、nil、if let、guard let、??

オプショナルの基本を学びます。?による宣言、nilによる値の欠如の表現、if let、guard let、??によるアンラップを扱います。

「オプショナル入門:?、nil、if let、guard let、??」はCoddyKit上の無料Swift Academyレッスンです。 これはレッスン3/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSwift Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Swift Academyコースには全3レッスンが含まれています。

オプショナルとは

オプショナルは、値が存在する場合とnilの場合を表します。型に?を付けるとオプショナルになります。

  • 値が存在しない場合を明示的に処理できます
  • 多くのクラッシュを防げます

if letによるバインディング

?を付けて宣言し、値が存在する場合はif letを使って安全にアンラップします。

var nickname: String? = nil
print("nickname =", String(describing: nickname))

// Optional binding with if let
let input: String? = "Ada"
if let name = input {
    print("Hello, \\(name)")
} else {
    print("No name")
}

guard let

guard letは値をアンラップし、nilの場合は早期に処理を終了するため、コードを平坦で読みやすく保てます。

func greet(_ maybeName: String?) {
    guard let name = maybeName else {
        print("Missing name"); return
    }
    print("Hi, \\(name)!")
}
greet(nil)
greet("Grace")

nil合体演算子(??)

オプショナルがnilの場合にデフォルト値を指定するには、??を使用します。

let provided: String? = nil
let username = provided ?? "Guest"
print("Username:", username)

オプショナルチェーン

オプショナルチェーン(?.)は、チェーン内のいずれかのリンクがnilになると、そこで処理を停止します。

struct Profile { var city: String? }
struct User { var profile: Profile? }

let u1 = User(profile: Profile(city: "Paris"))
let u2 = User(profile: nil)

// Optional chaining safely traverses missing links
print(u1.profile?.city?.uppercased() ?? "No city")  // "PARIS"
print(u2.profile?.city ?? "No city")                // "No city"

ヒントと注意点

ヒント:

  • 値がnilでないと100%確信できる場合を除き、!(強制アンラップ)は避けます。
  • 明確さを保つため、if letまたはguard letを優先します。
  • 安全なデフォルト値を指定するには??を使用します。

guard letの動作

クイックチェック:guard letは何をしますか?

まとめ

まとめ:?を付けてオプショナルを宣言し、nilで値が存在しないことを表します。if letまたはguard letでアンラップし、??でデフォルト値を指定します。安全に値をたどるには、オプショナルチェーンを使用します。

よくある質問

「オプショナル入門:?、nil、if let、guard let、??」レッスンは無料ですか?

はい。「オプショナル入門:?、nil、if let、guard let、??」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Swift Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Swift Academyコースには全3レッスンが含まれています。

「オプショナル入門:?、nil、if let、guard let、??」で何を学びますか?

オプショナルの基本を学びます。?による宣言、nilによる値の欠如の表現、if let、guard let、??によるアンラップを扱います。 ブラウザで直接実行するハンズオンコードでSwift Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Swift Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのSwift Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/3です。

「オプショナル入門:?、nil、if let、guard let、??」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このSwift Academyレッスンでコードを書いて実行できますか?

はい。すべてのSwift Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. letとvar、型推論、リテラル、タプル
  2. 基本型:数値、Bool、String、Character
  3. オプショナル入門:?、nil、if let、guard let、??
← Swift Academyに戻る