English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Swift データ型

このチュートリアルでは、Swiftプログラミング言語がサポートする異なるデータ型について学び、変数や定数の作成時にそれを使用します。

データ型は、変数や定数が格納できるデータ(値)の種類です。例えば、この記事Swift 変数と定数、変数と定数を生成して、文字列データをメモリに保存します。

このデータはテキストです/文字列(「Hello」)または数字(12.45)、またはビット(0&1)。データ型の定義は、定義されたデータ型のみを保存することを確実にします。

シーンを見てみましょう:

ゲームを作成する場合を想像してみましょう。多くのゲームはゲームが終わると高得点とプレイヤー名を表示するので、この2つのデータをゲームに格納する必要があります。

高得点(highScore)は数字(例: 59),プレイヤーの名前(playerName)は文字列(例:Jack)です。データを格納するために、変数や定数を2つ作成できます。

Swiftでは、以下のように変数やデータタイプを宣言して実現できます:

:整数データ型 59
var playerName:String = "Jack"

ここで、IntタイプのHighScore変数を宣言し、59)。そして、Jackの文字列タイプのplayerName変数を格納します。

ただし、以下の操作を実行すると:

var highScore:Int = "Jack"

コンパイル時エラーを受け取ります。 指定された'Int'タイプに'String'タイプの値を変換することができません

これは、highScoreを整数値として格納するために宣言したが、その中に文字列を入れたため、このエラーが発生します。このエラーは、highScoreが数字をのみ格納できるように確実にします。

データタイプのサイズ

データタイプの別の重要な部分はそのサイズです。これは、指定された変数や定数に格納できるデータのサイズを指定します。

Typeのサイズはビット単位で測定され、最大で 2bits)。Bit(ビット)について理解がある場合、0または1の値。

したがって、Type size = 1 ビットの場合、最大で 2 1 var highScore:Int 2、2つの値:0または 1ですので、アルファプログラムの1ビットシステムでは、0をaとして解釈できます。/0、以下を1bとして解釈します。/1.0として解釈します。

0 -> a または 0 
1 -> b または 1

同様に、2ビットシステムでは最大で2 2 var highScore:Int 4個の値:(00,01,10,11),各組み合わせは以下のように表現できます:

00 -> a または 0
01 -> b または 1
11 -> c または 2
10 -> d または 3

ビットシステムでは、最大で2 n個値。

Swiftデータタイプ

以下にSwiftで最もよく使用されるデータタイプを示します:

ボルンタイプ(Bool)

  • Bool型として宣言された変数/定数はtrueまたはfalseの2つの値しか格納できません。

  • デフォルト値:false

  • if処理中-else文ではよく使用されます。記事を参照してください。 Swift if else

例1:ボルンデータタイプ

let result:Bool = true
print(result)

このプログラムを実行すると、出力は以下の通りです:

true

整数型(Integer)

  • 整数型として宣言された変数/定数は正数、負数、ゼロを含む整数を格納できます。小数部分はありません。

  • デフォルト値:0

  • サイズ:32/64ビットはプラットフォームのタイプによって異なります。

  • 値の範囲:-2,147,483,648 から 2,147,483,647(32ビットプラットフォーム)
    -9223372036854775808 から 9223372036854775807(64ビットプラットフォーム)

  • Integer タイプの変種がたくさんあります。例えば UInt、Int8,Int16、Int

  • などがよく使用されます。/を指定する必要がある場合は、/などを使用して保存できる整数の大きさ8タイプ、UInt、Int16、Int

例2などのより具体的な方法で保存する方法についても紹介します。

:整数データ型 100
print(highScore)
highScore = -100
print(highScore)

このプログラムを実行すると、出力は以下の通りです:

100
-100

var highScore:Int =10上記の例では、Int型の変数highScoreを宣言しました。まず、それを100、したがって、スクリーンに(highScore) output

0、したがってprint (highScore)はスクリーンに表示されます-10後で、代入演算子highScore =を使用して -100を値に変更します-100、したがって、スクリーンに(highScore) output

0。

SWIFTのInt型のバリエーションについて見てみましょう。8Int

  • (整数)

  • デフォルト値:0

  • サイズ:8正の数と負の数を保存できる整数型のバリエーションです。

  • 範囲:-128 から 127

ビット81つのInt2 8 整数は、合計256=( 255)の値。つまり、0から

の間の数字。8 但是由于 Int-128正の数と負の数を含めて、保存できます。127まで256の数字、0を含めて、合計

の値や数字。8 var highScore:Int -128//=
highScore = 127 //=
highScore = 128 //正しい
highScore = -129 //正しい

エラー さらに、 Swift関数

例3:最大および最小 Int8データ型

print(Int8.min)
print(Int8.max)

このプログラムを実行すると、出力は以下の通りです:

-128
127

UInt(無符号整数)

  • 整数型のバリエーションであるUInt(無符号整数)は、無符号の数(正の数または0)のみを保存できます。

  • デフォルト値:0

  • サイズ:32/64ビットはプラットフォームのタイプによって異なります。

  • 範囲:0 から 4294967295(32ビットプラットフォーム)
    0 から 18446744073709551615(64ビットプラットフォーム)

例4:UIntデータ型

var highScore:UInt = 100
highScore = -100 //以下の操作を試みるとコンパイル時エラーが発生します

以下の操作を試みると、コンパイル時エラーが発生します。無符号整数は0または正の値のみを保存できます。無符号整数に負の値を保存しようとすると、エラーが発生します。

Float(浮点数)

  • 浮点型の変数や定数は、小数点を持つ数や小数点を持つ数を保存できます。

  • デフォルト値:0.0

  • サイズ:32ビット浮点数。

  • 範囲:1.2 * 10 -38から3.4 * 10 38(〜6ビット数)

例5:浮点データ型

let highScore:Float = 100.232
print(highScore)

このプログラムを実行すると、出力は以下の通りです:

100.232

Double(双精度浮点数)

  • Double型として宣言された変数/定数も小数点を持つ数や小数点を持つ数をFloatとして保存しますが、Floatをサポートするよりも大きな小数点を持っています。

  • デフォルト値:0.0

  • サイズ:64浮点数。(したがって、Double型の変数は、小数または小数点がFloatをサポートする数よりも大きい小数点を持つ数を保存できます)

  • 範囲:2.3×10 -308〜1.7 * 10 308(〜15ビット)

例6:双精度データ型

let highScore:Double = 100.232321212121
print(highScore)

このプログラムを実行すると、出力は以下の通りです:

100.232321212121

Character(文字)

  • Character型の変数を宣言する方法/定数は、単文字の文字列リテラルを保存できます。

  • Swiftでは、\u{n}(Unicode文字、nは16進数)を使用して、emojiや英語以外の言語を文字として使用できます。

例7:文字データ型

let playerName:Character = "J"
let playerNameWithUnicode:Character = "\u{134"}
print(playerName)
print(playerNameWithUnicode)

このプログラムを実行すると、出力は以下の通りです:

J
Ĵ

String(文字列)

  • String型の変数や定数は、文字集合を保存できます。

  • デフォルト値「」(空文字列)

  • それは値型です。

  • を使用して-ループ内で文字列を巡回する方法についても詳しく説明しています。を参照してください。Swift for-ループ内で

  • Swiftは、文字列内でこれらの特殊なエスケープシーケンスを使用するためのサポートも提供しています。例えば、

    • \0 (空文字)、

    • \\\ (普通の反斜線\)、

    • \t (タブ)、

    • \v (垂直タブ)、

    • \r (リターン)、

    • \" (双引号)、

    • \' (単引号)、および

    • \u{n} (Unicode文字列、nは16進数で表されます)。

例8:文字列データ型

let playerName = "Jack"
let playerNameWithQuotes = "\"Jack\""
let playerNameWithUnicode = "\u{134ack"
print(playerName)
print(playerNameWithQuotes)
print(playerNameWithUnicode)

このプログラムを実行すると、出力は以下の通りです:

Jack
"Jack"
Jack

を参照してください。Swiftの文字や文字列、文字や文字列の宣言、操作、例についてもっと詳しく学びたい場合は、

このデータ型以外にも、Swiftには他の高度なデータ型があります。例えば、 tupleoptionalrangeclassstructure など、後の章で学ぶことになります。

覚えておくべきこと

1Swiftは型推論言語であり、変数や定数は保存された値から自動的に型を推論することができます。したがって、変数や定数を宣言する際に型を省略することもできますが、読みやすさのために型を書くことも考えられますが、これは推奨されません。

例9:型推論の変数/定数

let playerName = "Jack"
print(playerName)

Swift コンパイラは値から自動的に変数の型を推測します。

2. Swiftは型安全な言語です。変数を特定の型として定義すると、以降は他のデータ型で変更することはできません。

例10:Swiftは型安全な言語です

let playerName:String
playerName = 55 //コンパイル時エラー

上記のコードはエラーを生成します。なぜなら、既に変数 playerName が String と指定されているため、そこに整数を格納することはできません。