[iPhone] Swiftの変数・定数・型とは

Swift3 での変数と定数の規定と型の設定について
Objective-Cではガチガチで何より命名則が長くてほとんど覚えられない状態でしたが、徐々に簡略化され使いやすくなりました。

Swift 4.0
Xcode 9.0

 

変数・定数・型

 
基本的な確認はplaygroundを使っていきます。
いくつか基本的な事ですが

  • 行でのコメントは’//’から始める
  • /* */でくくると複数行をコメントアウトできる
  • JavaやC系のような「;」は行末にはいりません
  • = の左右が空白か、空白無しか合わせる必要があります
    • OK: var str=”Hello,…”  var str = “Hello,…”
    • Error: var str= “Hello,…”  var str =”Hello,…”


 

変数: var

 
変数は簡単に言えばその値が今後変わる可能性があるものです。  

 
Playgroundで見るとstrが「Hello, playground」から「Hello, Swift」に変わっています。
 

 

定数: let

 
letを使うと値が変更されない定数を表します。
 

 
これを変数の時のように変えようとするとエラーになります。
 

 

 
「Cannot assign to value: ‘str’ is a ‘let’ constant」とエラー内容が表示されます。
この行番号の前に現れた赤丸をクリックすると
 

 
letからvarに変えましょうと修正候補が表示されました。
ちなみに、この青いラインをクリックするとこの内容で自動で修正してくれます。
 
なぜvarとletがあるのでしょう:
早い話がvarだけでもできそうです。変更あり変更無しをまとめてvarにしたいのですが、コンパイラが「これは変更されていないからletで宣言しませんか」的なコメントが出てきます。なぜでしょう

バグ対策:多分letを作ることで定数のつもりで作ったものを後で変数として使ってしまうというバグを発生させないということもあるのでしょう

Objective-Cとの互換:Objective-Cでは例えば要素数が固定の配列「NSArray」と要素を追加削除ができる「NSMutableArray」がありましたが、これをSwiftでやる場合はletとvarで宣言を分けることになります。このような互換性を考慮したのかもしれません。
 

型: type

 
以下の型が基本的なものになります。
 

 
ところでSwiftでは型を推測してくれるため上の記述はFloat以外は簡略化できます。
 

 
逆に数値が後でわかる場合など変数を先に宣言することも可能です。この場合は型指定を明確にします。
 

 
実は数値型にはもっと細かな種類がありますが、今はここまで覚えておけば大丈夫でしょう。
 


ページのトップへ戻る

シェアする

  • このエントリーをはてなブックマークに追加

フォローする