Swiftでの変数はを定義する場合大きくvar,letの二つです。
変数がわからない人は回れ右。
変数に悩んでいる人は是非見て欲しいです。
※これはSwift Playgroundsで2022年7月1日に検証したものになります。情報が古くなっていた場合更新しますのでコメントお願いします。
共通事項
定義した変数(varに限る)はいつでも
定義した変数名 = 新しい変数の中身
で新しい数を代入、すなわち書き換えることができます。
var
var 変数名 = 変数の中身
var 変数名:変数型 = 変数の中身 //変数型を使う場合
書き換えができる変数を作ります。
変数名 | 変数型 | 変数の中身 | |
---|---|---|---|
重要性 | 必須 | 任意 | 必須 |
説明 | 変数の名前を指定します | 変数のタイプを指定します | 変数の中身を指定します |
補足 |
変数名(必須)
変数の名前を指定します。
abc数字及び日本語が使用できます(他の言語も使えるかも)
既に宣言した変数の名前や1文字目に数字がくる名前、!?などの記号は使用できません。
具体的な例
var a = 5 //OK
var A = 5 //OK
var 日本語 = 5 //OK
var 1K = 5 //数字から始まっているためNG
var gg? = 1 //記号から始まっているためNG
var a = 7 //既にaが指定されているためNG
変数型(任意)
変数の型、すなわちタイプを指定します。
指定しなくてもあまり問題はないですがこの変数は数字だけ、これは文字だけのように指定できるので便利です。
変数型 | 用途 |
---|---|
Int | 数字 |
String | 文字列 |
Bool | 真偽値(true or falseでこれ以外を中身に入れるとエラー吐きます) |
Float | 32bitサイズの浮動小数点型 |
Double | 64bitサイズの浮動小数点型 |
変数の中身(必須)
変数の中身を指定します。
変数型に合わない中身(Intを指定し数字のみの変数にしたものに文字列を入れたりBoolでtrueかfalseに限定しているにも関わらず他の文字を入れたり)を入れたり、名前と同じく記号を入れたりすることはできません。
また、trueとfalseを除いた文字列を入れる場合はダブルクオーテーション(")で囲む必要があります。
で?どういうこと?という人はこちら
var a = 5 //OK
var HisNameIs:String = "John Cena" //OK
var Owatta = true //OK
var Count:Int = "あいう" //型にあっていないためNG
var Rookie:Bool = no //型にあっていないためNG
var i = 'AA' //""ではなく''のためNG
let
let 変数名 = 変数の中身
let 変数名:変数型 = 変数の中身 //変数型を使う場合
書き換えができない変数を作ります。
このコードで指定された変数は
letで指定した変数 = 新しい中身
で新しい中身を代入することができません。
なので定数と呼ぶこともあります。基本的なコードの仕組みはvarと一緒です。
変数名 | 変数型 | 変数の中身 | |
---|---|---|---|
重要性 | 必須 | 任意 | 必須 |
説明 | 変数の名前を指定します | 変数のタイプを指定します | 変数の中身を指定します |
補足 |
変数名(必須)
変数の名前を指定します。
abc数字及び日本語が使用できます(他の言語も使えるかも)
既に宣言した変数の名前や1文字目に数字がくる名前、!?などの記号は使用できません。
具体的な例
let a = 5 //OK
let A = 5 //OK
let 日本語 = 5 //OK
let 1K = 5 //数字から始まっているためNG
let gg? = 1 //記号から始まっているためNG
let a = 7 //既にaが指定されているためNG
変数型(任意)
変数の型、すなわちタイプを指定します。
指定しなくてもあまり問題はないですがこの変数は数字だけ、これは文字だけのように指定できるので便利です。
変数型 | 用途 |
---|---|
Int | 数字 |
String | 文字列 |
Bool | 真偽値(true or falseでこれ以外を中身に入れるとエラー吐きます) |
Float | 32bitサイズの浮動小数点型 |
Double | 64bitサイズの浮動小数点型 |
変数の中身(必須)
変数の中身を指定します。
変数型に合わない中身(Intを指定し数字のみの変数にしたものに文字列を入れたりBoolでtrueかfalseに限定しているにも関わらず他の文字を入れたり)を入れたり、名前と同じく記号を入れたりすることはできません。
また、trueとfalseを除いた文字列を入れる場合はダブルクオーテーション(")で囲む必要があります。
で?どういうこと?という人はこちら
let a = 5 //OK
let HisNameIs:String = "John Cena" //OK
let Owatta = true //OK
let Count:Int = "あいう" //型にあっていないためNG
let Rookie:Bool = no //型にあっていないためNG
let i = 'AA' //""ではなく''のためNG
使い分け
まずはvarとletを比較してみましょう。
var | let | |
---|---|---|
数値の書き換え | できる | できない |
型の指定 | できる | できる |
letは一度指定して仕舞えば変更できないので名前やメールアドレスなどで使うのがいいでしょう。
ミス等ございましたらコメントでご指摘ください。