【Swift】文字列を結合する。文字列に変数の値を埋め込む。(Swift 2.1、XCode 7.2)
文字列を結合する
前回の記事「データ型と変数の種類と宣言」で説明したように、String型の文字列を宣言する場合は以下のようにする。
1 2 3 4 5 6 |
//型を明記せずに宣言 var test1 = "これは1つめのテストメッセージです" //型を明記して宣言 var test2:String = "これは2つめのテストメッセージです" |
String型の文字列は、文字列同士を結合して画面に表示する使い方が多い。文字列同士を結合するには、以下コードのように「+演算子」を用いる。
1 2 3 4 5 6 7 8 |
var test1 = "明日は" var test2 = "明日の" var test3 = "風が吹く" print(test1 + test2 + test3) //実行結果 //明日は明日の風が吹く |
Swiftには自動型変換の機能がないので、そのままでは型が異なるデータ同士を結合することができない。型が異なる変数を文字列と結合するには、Stringにキャストしてから結合する。
1 2 3 4 5 6 7 8 |
var test1 = "マラソンの走行距離は" var test2 = 42.195 var test3 = "キロメートル" print(test1 + String(test2) + test3) //実行結果 //マラソンの走行距離は42.195キロメートル |
文字列に変数の値を埋め込む
上記のような、キャストしたデータがString型の文字列で挟まれるような場合は以下のようにしたほうがスマートだ。
文字列の中に「\(変数名)」を入れて変数の値を文字列の中に埋め込む。
1 2 3 4 5 6 7 |
var test1 = 42.195 var test2 = "マラソンの走行距離は\(test1)キロメートル" print(test2) //実行結果 //マラソンの走行距離は42.195キロメートル |
変数をたくさん埋め込んだり、変数を使った計算式の結果を埋め込むこともできる。
1 2 3 4 5 6 7 8 9 |
import UIKit var test1 = 42.195 var test2 = 2.0 print("マラソンの走行距離は\(test1)である。\(test2)時間で走るには1秒あたり\(test1*1000/(test2*3600))メートル走る必要がある") //実行結果 //マラソンの走行距離は42.195である。2.0時間で走るには1秒あたり5.86041666666667メートル走る必要がある |