0Pricing
Swift Academy · レッスン

明示的なアノテーションを追加するタイミング

曖昧さを解消し、意図を記録するためにアノテーションを付けます。

「明示的なアノテーションを追加するタイミング」はCoddyKit上の無料Swift Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSwift Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Swift Academyコースには全4レッスンが含まれています。

型注釈を付ける理由

型推論は強力ですが、明示的な型注釈によって明確さが増し、曖昧さを解消し、意図を文書化できます。

let temperature: Double = 36
print(temperature)
print(type(of: temperature))

Doubleを明示的に指定する

型注釈がない場合、let x = 5 は Int になります。後で小数を使った計算が必要な場合は、型注釈を付けて Double にしてください。

let count: Double = 5
let average = count / 2
print(average)

空のコレクション

空のリテラルには推論の手がかりとなる要素がないため、型を明示的に指定する必要があります。

var scores: [Int] = []
scores.append(10)
print(scores)

空の辞書

空の辞書にも同じ規則が適用されます。キーの型と値の型の両方に注釈を付けてください。

var ages: [String: Int] = [:]
ages["Ada"] = 36
print(ages)

オーバーロードの曖昧さを解消する

一致する可能性のあるイニシャライザが複数ある場合、型注釈によってコンパイラにどれを使うかを伝えられます。

let small: Int8 = 100
let big: Int64 = 100
print(type(of: small), type(of: big))

保存される値を文書化する

保存プロパティでは明示的な型が必要であり、読み手にとってのドキュメントとしても機能します。

struct Account {
    var balance: Double = 0
    var owner: String = "Unknown"
}
let a = Account()
print(a.balance, a.owner)

読みやすさのための型注釈

長い式や一見して分かりにくい式では、型注釈によって結果の型をすぐに把握できます。

let ratio: Double = 22 / 7
print(ratio)

オプショナル型

nil だけでは型を推論できないため、オプショナルには明示的に型注釈を付けることがよくあります。

var nickname: String? = nil
nickname = "Ace"
print(nickname ?? "none")

何も返さないクロージャ

保存するクロージャが曖昧になる可能性がある場合は、完全な型を注釈してください。

let action: () -> Void = {
    print("ran")
}
action()

数値リテラルの変換

型注釈により、手動で変換を呼び出さなくても、1つのリテラルを異なる数値型として扱えます。

let cpu: UInt8 = 255
let wide: UInt32 = 255
print(cpu, wide)

型推論と型注釈のバランス

目安として、明らかな場合は型推論に任せ、型が曖昧な場合、明確さが増す場合、または必要な場合(空のコレクション、プロパティ、パラメータ)に型注釈を付けてください。

let obvious = "clear"       // inference is fine
let precise: Double = 9     // annotation needed
print(obvious, precise)

確認テスト

型注釈が必要になるのはどのような場合か、確認してください。

まとめ

特定の数値型を指定する場合、空のコレクションやオプショナルを宣言する場合、オーバーロードの曖昧さを解消する場合、プロパティやAPIを文書化する場合は、明示的な型注釈を追加してください。それ以外では、型推論によってコードをすっきり保ちましょう。

var list: [String] = []
let rate: Double = 5
print(list, rate)

よくある質問

「明示的なアノテーションを追加するタイミング」レッスンは無料ですか?

はい。「明示的なアノテーションを追加するタイミング」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Swift Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Swift Academyコースには全4レッスンが含まれています。

「明示的なアノテーションを追加するタイミング」で何を学びますか?

曖昧さを解消し、意図を記録するためにアノテーションを付けます。 ブラウザで直接実行するハンズオンコードでSwift Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「明示的なアノテーションを追加するタイミング」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

  1. 型推論の仕組み
  2. 明示的なアノテーションを追加するタイミング
  3. リテラルの型推論
  4. クロージャの型推論
← Swift Academyに戻る