
Swift – データ型
任意のプログラミング言語でプログラミングを行う際には、さまざまなタイプの変数を使用して情報を格納する必要があります。変数は、値を格納するために予約されたメモリ位置にすぎません。つまり、変数を作成すると、メモリ内にある程度のスペースが確保されます。
文字列、文字、ワイド文字、整数、浮動小数点、ブール値などのさまざまなデータ型の情報を格納することができます。変数のデータ型に基づいて、オペレーティングシステムはメモリを割り当て、予約に格納できるものを決定しますメモリ。
組み込みデータ型
Swift 4は、プログラマに豊富なビルトインおよびユーザ定義のデータ型を提供します。変数の宣言時には、次のタイプの基本データ型が最も頻繁に使用されます。
- IntまたはUInt – これは整数に使用されます。
- Float – これは、32ビット浮動小数点数と小数点以下の小数点以下を表現するために使用されます。たとえば、3.14159,0.1、および-273.158です。
- Double – これは、64ビットの浮動小数点数を表すために使用され、浮動小数点値が非常に大きくなければならない場合に使用されます。たとえば、3.14159,0.1、および-273.158です。
- Bool – 真または偽のブール値を表します。
- String – これは、順序付けられた文字の集合です。たとえば、「Hello、World!」と入力します。
- character – これは1文字の文字列リテラルです。たとえば、 “C”
- option – これは、値を保持するか、値を保持できない変数を表します。
- taple – これは、単一の複合値で複数の値をグループ化するために使用されます。
バウンド値
次の表は、変数の型、メモリに値を格納するために必要なメモリ量、およびそのような型の変数に格納できる最大値と最小値を示しています。
タイプ | 典型的なビット幅 | 代表的な範囲 |
---|---|---|
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桁) |
タイプエイリアス
タイプエイリアス
タイプエイリアスとは、型の別名定義のことです。
Swiftでは、C言語のtypedefのように、既存の型に別名をつけて使用することができます。
typealias Money = Int
let m: Money = 100
print(m) // 100
typealias BodyStatus = (String, Double)
var height:BodyStatus?
var weight:BodyStatus?
height = ("身長", 170.0)
weight = ("体重", 63.5)
タイプエイリアスを使用して既存のタイプの新しい名前を作成できます。ここには、タイプアリアスを使って新しいタイプを定義するための例文となります。
typealias newname = type
typealias Feet = Int
typealias Feet = Int var distance: Feet = 100 print(distance)
上記のプログラムをPLAYGROUNDで実行すると、次の結果が得られます。
100
タイプセーフ
タイプセーフ
タイプセーフ(型安全)とは、データ型の食い違いによって起こるエラーを防ぐ仕組みの事を言います。
何が型安全な言語で、何が型安全な言語でないかは、型安全という言葉の定義の仕方によります。例えば Java は型安全な言語か?という問に対して、Yes と答える人と No と答える人がいます。
型安全性を保証する言語を強い型付け言語、型安全性が保証されない言語を弱い型付け言語と言いますが、同様にこれらも定義が曖昧な用語です。(静的型付け/動的型付けとこれらを混同している人がよくいますがこれは明らかに間違いです)
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は型推論を使用して、次のように適切な型を整えます。
var varA = 42 print(varA) var varB = 3.14159 print(varB) var varC = 3 + 0.14159 print(varC)
上記のプログラムをPLAYGROUNDで実行すると、次の結果が得られます。
42 3.14159 3.14159