ログアウト

型について・文字列のString型

型とは

プログラムではデータを扱う際に、種類ごとに分類されます。
このデータの種類のことを、と言います。
一例として、文字列ならばString型、整数ならばInt型、true(真)/false(偽)の2値を扱うBool型などです。

型の違う定数・変数にデータを代入することはできませんし、違う型同士のデータは、演算することができません。
例:"123" + 123 を試してみてください。文字列と整数で、別の扱いとなる為足せません。
  ”123” + true を試してみてください。trueは文字列ではなくBool型なので足せません。
  (文字列として扱いたい時は””で括ります。)

以上を踏まえた上で、まずは文字列の型について見てみましょう。

String型

文字列を扱う時、プログラムではStringという型(種類)のデータとして扱います。

""で囲まれたデータは、コンピュータ側で自動的にString型だな、と判断されます。

変数 afternoon では、入ってきたデータ(“こんにちは")の種類がコンピュータによって推論され、型:Stringと設定されました。再代入できる変数ですが、この後に文字列以外の値を代入しようとすると、エラーになります。

定数 night ではあらかじめ定数の型をStringに設定しています。
代入を宣言と同時に行わない時は、このように入れるデータの種類(型)を決めておかなければいけません。

 

空文字

何も表示しない文字列のデータとして空文字があります。

データとして「何もない」のではなく、「空の文字列データがある」という事です。
(「何もない」の扱いは後の節nilで解説します。)

 

文字列の連結

下記のコードを、次のような想定でPlaygroundでコーディングしてみてください。
・変数の宣言・代入部分は、「アプリユーザーが入力フォームに打ち込んだ文字列を取得している」
・print部分は、「アプリの画面に文字を表示させている」

・足し算

同じString型同士であれば、足し算して表示することができます。

・別の型データとの連結

整数値はInt型のデータなので、型の違うモノ同士は足し算ができません。
そのため、型をString型に変換する必要があります。
String(変換したいデータ)とします。

※あくまで day の変数はその後もInt型のままであり、[String(day)]までがString型として扱われます。その後のデータもString型として扱いたい場合は、

以上のように、新しく定数や変数に入れ直しましょう。

・文字列の中に組み込む

半角バックスラッシュ\(定数・変数)で、足し算や変換をせずとも、””で括った文字列の中に定数・変数を埋め込むことができます。
バックスラッシュは、「option」キーと「\」キーの同時押しで打ち込むことができます。
(日本語JISキーボードの場合)

読みやすさ、状況に合わせて使い分けましょう。