#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専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。
コメント
コメントを投稿