1. HOME
  2. ブログ
  3. IT技術
  4. Swiftでguardを使うメリットと使い方をご紹介!
Swiftでguardを使うメリットと使い方をご紹介!

Swiftでguardを使うメリットと使い方をご紹介!

Swift では guard を使った方がいい?

Swift 2.0から追加された「guard」。

基本的な使い方は if と同じで、定数や変数に nil が含まれていないか判断するために使われます。

しかし、Swift では if よりも guard を使う方が断然おすすめなのです。

今回は、guard を使うメリットと、その使い方について解説していきます。

こちらの記事もオススメ!


メリット①コードのメンテナンスがしやすい

nil を確認してアンラップする記述に guard を使うと、コードが見やすく、メンテナンスが楽になります。

guard と if の記述を比較

実際に、guard と if のコードを比較してみましょう。

guard

guard は、下記のように記述します。

if

上のコードを if に直すと、こうなります。

やっていることは同じでも、guard の方が簡潔

どちらも testint をオプショナル型として宣言し、nil を代入しています。

もし、nil 以外の数字を代入している場合、testint から unwrapint へ数字が代入され、そのまま処理が継続されます。

今回は、testint に nil が代入されているため、return が実行されて処理が終了します。

両者とも同じ処理をしていますが、if よりも guard の方がシンプルな記述になっていますね。

if だと分岐処理と以上処理の見分けがつきにくいですが、guard ならば一目で異常検知であることがわかります。

このように、guard はスコープを抜けるための処理がより簡潔に書けるため、メンテナンスの負担を軽減するのです。

メリット②変数や定数がその後の処理で使える

if で nil を確認後に変数や定数を使う場合、if の{}の中でしか使用することができません。

しかし、guard で nil を確認した変数や定数は、guard 処理後も使用することができます。

一度確認したら、その後も確認する必要はありません。

先ほどのコードで説明しましょう。

guard

上記のコードでは、testint にオプショナル値の「10」が入っています。

guard 文により、アンラップされたオプショナル値ではない10が「 unwrapint 」に入ります。

unwrapint は guard 文の外でも使用できるので、その後の計算式で使えます。

if

それでは、if で記述した場合はどうでしょうか?

この場合、unwrapint は if 文の中でのみ使用することができます。

もちろん、if 文の外で使用するとエラーになってしまいます。

guard の方が、その後の処理をスムーズに行うことができるというわけです。

さいごに

今回は、Swift を使うならぜひ知っておきたい guard について説明しました。

if と同じ処理をしますが、異常処理とアンラップが同時にできるため、guard の方が読みやすいコードを書くことができます。

覚えておくととても便利なので、ぜひ guard を使ってみてくださいね!

記事を書いた人

\ 3度のメシより技術が好き /
(株)ライトコードは、WEB・アプリ・ゲーム開発に強い「好きを仕事にするエンジニア集団」です。
システム開発依頼・お見積もりはこちらまでお願いします。
また、WEB・スマホ系エンジニアを積極採用中です!
※現在、多数のお問合せを頂いており、返信に、多少お時間を頂く場合がございます。

こちらの記事もオススメ!


ライトコードよりお知らせ

にゃんこ師匠にゃんこ師匠
システム開発のご相談やご依頼はこちら
ミツオカミツオカ
ライトコードの採用募集はこちら
にゃんこ師匠にゃんこ師匠
社長と一杯飲みながらお話してみたい方はこちら
ミツオカミツオカ
フリーランスエンジニア様の募集はこちら
にゃんこ師匠にゃんこ師匠
その他、お問い合わせはこちら
ミツオカミツオカ
   
お気軽にお問い合わせください!せっかくなので、別の記事もぜひ読んでいって下さいね!

一緒に働いてくれる仲間を募集しております!

ライトコードでは、仲間を募集しております!

当社のモットーは「好きなことを仕事にするエンジニア集団」「エンジニアによるエンジニアのための会社」。エンジニアであるあなたの「やってみたいこと」を全力で応援する会社です。

また、ライトコードは現在、急成長中!だからこそ、あなたにお任せしたいやりがいのあるお仕事は沢山あります。「コアメンバー」として活躍してくれる、あなたからのご応募をお待ちしております!

なお、ご応募の前に、「話しだけ聞いてみたい」「社内の雰囲気を知りたい」という方はこちらをご覧ください。

ライトコードでは一緒に働いていただける方を募集しております!

採用情報はこちら

関連記事

初心者が3ヶ月でどれくらいプログラミングができるようになるのか

採用情報

\ あの有名サービスに参画!? /

バックエンドエンジニア

\ クリエイティブの最前線 /

フロントエンドエンジニア

\ 世界はお前の手の中に・・・ /

モバイルエンジニア

\ サービスの守り神! /

インフラエンジニア

初心者が3ヶ月でどれくらいプログラミングができるようになるのか

初心者が3ヶ月でどれくらいプログラミングができるようになるのか