#3 Swiftで学ぶ演算子の基本

Swiftの演算子は、安全性を重視するSwiftらしく、うっかりミスを防ぐための工夫が随所に見られます。この記事では、Swiftの基本的な演算子とnull安全な書き方について解説します。

算術演算子・比較演算子

Swiftでは、次のような演算子を使います。

  • + - * / % 算術演算子
  • == != > < 比較演算子
  • && || ! 論理演算子

Swiftの==は、文字列同士でも中身をきちんと比較してくれます。

異なる型同士は計算できない

Swiftは型に厳格な言語で、整数型と浮動小数点型を、そのまま+で計算しようとするとエラーになります。

let a: Int = 5
let b: Double = 2.5
// a + b はエラーになる

計算するには、明示的に型を変換する必要があります。

let result = Double(a) + b

オプショナルチェイニングという仕組み

Swiftには、値がないかもしれない(オプショナル型の)変数を安全に扱うための?.という書き方があります。

let length = nickname?.count

nicknameに値が入っていなければ、エラーにならずに処理全体がnilという結果になります。値がない可能性を考慮したコードを、簡潔に書けるのが特徴です。

nil合体演算子??

値がnilのとき、代わりの値を使いたい場合は??を使います。

let displayName = nickname ?? "名無しさん"

?.と??を組み合わせると、「値があればその情報を使い、なければ既定値を使う」という処理を簡潔に1行で表現できます。

let length = nickname?.count ?? 0

範囲演算子

Swiftには、数値の範囲を表す...・..<という演算子もあります。

for i in 1...5 {
    print(i) // 1から5まで(5を含む)
}
for i in 1..<5 {
    print(i) // 1から5未満(5を含まない)
}

Swiftならではの注意点

Swiftは、意図しない型変換によるバグを防ぐため、他の言語よりも計算時の型チェックが厳しめです。最初はエラーが多く感じられるかもしれませんが、これは実行時ではなくコードを書いている段階でミスに気づけるようにするための工夫です。

複合代入演算子

「変数に加算してから代入し直す」処理をまとめて書ける複合代入演算子も使えます。

var count = 0
count += 1 // count = count + 1 と同じ

まとめ

Swiftの演算子は、型の厳格さとオプショナル型への対応が大きな特徴です。範囲演算子や?.・??のような安全のための書き方を活用しながら、落ち着いてエラーに対処していきましょう。


本ページはプロモーションを含みます。

参考書籍(PR)

Swiftをもっと学びたい方には「これからつくる iPhoneアプリ開発入門」がおすすめです。


PR

コードを書かずに自動化したい方へ

「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。

コメント

このブログの人気の投稿

#25 Rustで学ぶAI API(ChatGPT等)の呼び出し方の基本

#8 C++で学ぶ文字列操作の基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本