定数と変数は、名前(maximumNumberOfLoginAttemptsやwelcomeMessageなど)を指定されたタイプの値(数値10や文字列 "Hello"など)に関連付けます。定数の値は一度設定すると変更できず、変数の値は自由に変更できます。
1つ:定数と変数を宣言します
定数と変数は使用前に宣言する必要があります。Letは定数の宣言に使用され、varは変数の宣言に使用されます。次の例は、定数と変数を使用してユーザーログインの試行回数を記録する方法を示しています。
let maximumNumberOfLoginAttempts = 10
var currentLoginAttempt = 0
これらの2行のコードは、次のように理解できます。
「maximumNumberOfLoginAttemptsという名前の新しい定数を宣言し、それに値10を指定します。次に、currentLoginAttemptという名前の変数を宣言し、その値を0に初期化します。」
この例では、ログイン試行の最大許容数は定数として宣言されています。これは、この値が変更されないためです。ログイン試行が失敗するたびにこの値を増やす必要があるため、現在のログイン試行回数は変数として宣言されます。
1行で複数の定数または複数の変数をコンマで区切って宣言できます。
var x = 0.0, y = 0.0, z = 0.0
注:コードに変更する必要のない値がある場合は、letキーワードを使用して定数として宣言してください。変更が必要な値のみを変数として宣言します。
2:タイプラベル
定数または変数を宣言するときに、定数または変数に格納される値の型を示す型注釈を追加できます。型注釈を追加する場合は、定数名または変数名の後にコロンとスペースを追加してから、型名を追加する必要があります。
この例では、welcomeMessage変数に型注釈を追加し、この変数が文字列型の値を格納できることを示しています。
var welcomeMessage: String
宣言のコロンは「is ... type」を表すため、このコード行は次のように理解できます。
「String型とwelcomeMessageという名前の変数を宣言してください。」
「タイプは文字列です」は、「任意の文字列タイプの値を格納できる」ことを意味します。
welcomeMessage変数を任意の文字列に設定できるようになりました。
welcomeMessage = "Hello"
注:一般的に言って、型の注釈を書く必要はめったにありません。定数または変数を宣言するときに初期値を割り当てると、Swiftは定数または変数のタイプを推測できます。上記の例では、welcomeMessageに初期値が割り当てられていないため、変数welcomeMessageの型は、初期値から推測されるのではなく、型アノテーションによって指定されます。
3:定数と変数の命名
Unicode文字を含め、定数名および変数名として任意の文字を使用できます。
let π = 3.14159
let 你好 = "你好世界"
let ???????? = "dogcow"
定数と変数名には、数学記号、矢印、予約済み(または不正)のUnicodeコードポイント、接続、およびタブを含めることはできません。また、数字で始めることはできませんが、定数や変数名の他の場所に数字を含めることはできます。
定数または変数を特定の型として宣言すると、同じ名前で再度宣言したり、格納されている値の型を変更したりすることはできません。同時に、定数と変数の間で変換することはできません。
注:Swiftの予約キーワードと同じ名前を定数名または変数名として使用する必要がある場合は、キーワードをバッククォート( `)で囲むことにより、名前として使用できます。いずれの場合も、選択の余地がない限り、定数名または変数名としてキーワードを使用することは避けてください。
既存の変数値を同じタイプの他の値に変更できます。次の例では、friendlyWelcomeの値が「Hello!」から「Bonjour!」に変更されています。
var friendlyWelcome = "Hello!"
friendlyWelcome = "Bonjour!"
// friendlyWelcome 现在是 "Bonjour!"
変数とは異なり、定数の値は一度決定されると変更できません。そうしようとすると、コンパイル時にエラーが発生します。
let languageName = "Swift"
languageName = "Swift++" // Cannot assign to value: 'languageName' is a 'let' constant
// 这会报编译时错误 - languageName 不可改变
4:出力定数と変数
print関数を使用して、現在の定数または変数の値を出力できます。
print(friendlyWelcome)
// 输出 "Bonjour!"
print関数は、着信文字列値を出力します。
print("This is a string")
// 输出 "This is a string"
Swiftは文字列補間を使用して、定数または変数の名前をプレースホルダーとして長い文字列に追加します。Swiftは、これらのプレースホルダーを現在の定数または変数の値に置き換えます。定数名または変数名を括弧で囲み、開き括弧の前に円記号を使用してエスケープします。
print("The current value of friendlyWelcome is \(friendlyWelcome)")
// 输出 "The current value of friendlyWelcome is Bonjour!
注:文字列補間で使用可能なすべてのオプション
公式アカウント[SwiftCommunity]をフォローすることを歓迎します。