Swift-データ型
任意のプログラミング言語でプログラミングを行う場合、情報を格納するためにさまざまなタイプの変数を使用する必要があります。変数は、値を格納するために予約されたメモリ位置に他なりません。これは、変数を作成するときに、メモリにいくらかのスペースを予約することを意味します。
文字列、文字、ワイド文字、整数、浮動小数点、ブール値など、さまざまなデータ型の情報を格納することができます。変数のデータ型に基づいて、オペレーティングシステムはメモリを割り当て、予約済みに格納できるものを決定します。メモリ。
組み込みのデータ型
Swift 4は、プログラマーに組み込みデータ型とユーザー定義データ型の豊富な品揃えを提供します。次のタイプの基本データ型は、変数を宣言するときに最も頻繁に使用されます-
Int or UInt−これは整数に使用されます。具体的には、Int32、Int64を使用して32ビットまたは64ビットの符号付き整数を定義し、UInt32またはUInt64を使用して32ビットまたは64ビットの符号なし整数変数を定義できます。たとえば、42と-23。
Float−これは、32ビット浮動小数点数と小数点以下の数を表すために使用されます。たとえば、3.14159、0.1、および-273.158です。
Double−これは、64ビット浮動小数点数を表すために使用され、浮動小数点値を非常に大きくする必要がある場合に使用されます。たとえば、3.14159、0.1、および-273.158です。
Bool −これは、trueまたはfalseのいずれかのブール値を表します。
String−これは順序付けられた文字のコレクションです。たとえば、「Hello、World!」
Character−これは1文字の文字列リテラルです。たとえば、「C」
Optional −これは、値を保持できる変数、または値を保持できない変数を表します。
Tuples −これは、複数の値を単一の複合値にグループ化するために使用されます。
ここに整数型に関連するいくつかの重要なポイントをリストしました-
32ビットプラットフォームでは、IntはInt32と同じサイズです。
64ビットプラットフォームでは、IntはInt64と同じサイズです。
32ビットプラットフォームでは、UIntはUInt32と同じサイズです。
64ビットプラットフォームでは、UIntはUInt64と同じサイズです。
Int8、Int16、Int32、Int64は、8ビット、16ビット、32ビット、および64ビット形式の符号付き整数を表すために使用できます。
UInt8、UInt16、UInt32、およびUInt64は、8ビット、16ビット、32ビット、および64ビット形式の符号なし整数を表すために使用できます。
バインドされた値
次の表は、変数のタイプ、メモリに値を格納するために必要なメモリの量、およびそのようなタイプの変数に格納できる最大値と最小値を示しています。
タイプ | 典型的なビット幅 | 典型的な範囲 |
---|---|---|
Int8 | 1バイト | -127〜127 |
UInt8 | 1バイト | 0から255 |
Int32 | 4バイト | -2147483648から2147483647 |
UInt32 | 4バイト | 0から4294967295 |
Int64 | 8バイト | -9223372036854775808から9223372036854775807 |
UInt64 | 8バイト | 0から18446744073709551615 |
浮く | 4バイト | 1.2E-38から3.4E + 38(〜6桁) |
ダブル | 8バイト | 2.3E-308〜1.7E + 308(〜15桁) |
タイプエイリアス
を使用して、既存のタイプの新しい名前を作成できます typealias。typealiasを使用して新しい型を定義する簡単な構文は次のとおりです-
typealias newname = type
たとえば、次の行はコンパイラに次のように指示します。 Feet の別名です Int −
typealias Feet = Int
さて、次の宣言は完全に合法であり、distance −と呼ばれる整数変数を作成します。
typealias Feet = Int
var distance: Feet = 100
print(distance)
上記のプログラムをplaygroundを使用して実行すると、次の結果が得られます。
100
型安全性
Swift 4はタイプセーフな言語です。つまり、コードの一部で文字列が必要な場合、誤ってIntを渡すことはできません。
Swift 4はタイプセーフであるため、コードのコンパイル時にタイプチェックを実行し、不一致のタイプをエラーとしてフラグ付けします。
var varA = 42
varA = "This is hello"
print(varA)
上記のプログラムをコンパイルすると、次のコンパイル時エラーが発生します。
main.swift:2:8: error: cannot assign value of type 'String' to type 'Int'
varA = "This is hello"
型推論
型推論を使用すると、コンパイラーは、コードをコンパイルするときに、指定した値を調べるだけで、特定の式の型を自動的に推測できます。Swift 4は、型推論を使用して、次のように適切な型を計算します。
// varA is inferred to be of type Int
var varA = 42
print(varA)
// varB is inferred to be of type Double
var varB = 3.14159
print(varB)
// varC is also inferred to be of type Double
var varC = 3 + 0.14159
print(varC)
遊び場を使用して上記のプログラムを実行すると、次の結果が得られます-
42
3.14159
3.14159