獣は月夜に何を見る...

【 iPhone 】Swiftでアプリ開発 | 変数と定数とは?、Playgroundを使って学ぼう!。

f:id:tukumosanzou:20180907114302j:plain


アプリ開発をする中で、プログラムはある時点でデータ(テキスト、数字だったり)を格納しておく入れ物が必要になってきます。



これを、Swiftでは「変数」「定数」という2つの方法があります。



「変数」はその名のとおりに、必要な時にその中身のを入れ替えることができます、逆に「定数」は一度その中身のデータを決めてしまうと入れ替えることができないようになってます。



なぜ入れ物が2種類必要かというと、プログラミングをしていく中で、仮に「変数」だけしかなかった場合に、変えてはいけない「変数」の中身のデータを入れ替えてしまっても気付かないことがありえるからです。



ですから「定数」があることによって、変えてはいけない中身のデータを守ることができるようになります。



まちがえて「定数」の中身を変えてしまうようなプログラムを書いてしまったら、Xcodeが警告を出してくれるので気づくことができます。



では、実際に「変数」と「定数」を使用してみましょう。

XcodeでPlaygroundファイルを作成しててください。


Playgroundについては以下を参考にしてください。

tukumosanzou.hatenablog.com




すでにPlaygroundファイルには以下のようなコードが書かれています。



import UIKIt

var str = "Hello、Playground"




この「str」が「変数」となってます。



「変数」は「var」ではじまります、「var 変数名 = 入れるデータ」が「変数」をつくる式になります。



「変数」strの中身を変更するには下のようにします。



import UIKit

var str = "Hello、Playground"

str = "bye bye"




Playgroundの右側のビルド結果が”bye bye”になっているとおもいます。


f:id:tukumosanzou:20180907112223p:plain


次は、「定数」についてやってみたいと思います。



コードを下のように変更してみましょう。



「var」の部分を「let」に変えてみてくだい。



変数」は「let」ではじまります、「let 変数名 = 入れるデータ」が「定数」をつくる式になります。



import UIKit

let str = "Hello、Playground"

str = "bye bye"




Xcodeが警告をだしてくるとおもいます。



Xcodeに赤い警告分とマークがでてきます、そして問題の部分には文字の下に赤い波線がひかれてるとおもいます。



f:id:tukumosanzou:20180907112841p:plain


赤い警告シンボルをクリックすると、Xcodeが問題の内容を教えてくれます。



「Cannot assign to value: 'str' is a 'let' constant」('値に代入できません: 'str'は 'let'定数です )という意味です。



コマンドパレットにも同じ警告がでます。



ですから、「定数」をつかうことでプログラミングの早い段階でまちがいを発見することができるわけです。


注意:変数名と定数名は、コード内で同じなまえをつかうことができません。同じ変数名を2回使おうとすると、Playgroundでは次のようにエラーがでます。



f:id:tukumosanzou:20180907113228p:plain


「Invalid redeclaration of 'str'」('str'の再宣言が無効です)という意味です。