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

Swift の入出力

この記事では、Swiftで出力を表示し、入力を取得する異なる方法を学びます。

Swift 基本出力

print(items: Any..., separator: String = default, terminator: String = default)関数を使用して、標準出力(スクリーン)にデータを送信できます。詳細は記事を参照してください。Swiftの関数

関数print(items, separator, terminator:)は3つの引数を取ります。

  • items: コントロールタブレットに印刷する項目。複数の項目を受け入れます。

  • separator: 各項目間に印刷する文字列。デフォルトは単一のスペース(" ")です。

  • terminator: 全ての項目を印刷した後に印刷する文字列。デフォルト値は改行符("\n")です。

最後の2つの引数(separator, terminator)がデフォルト値で指定されているため、print関数を呼び出す際には強制的に使用する必要はありません。

例1:シンプルなprint()関数を使用してスクリーンに表示

print("こんにちは、世界!")
print("I love Swift.")

このプログラムを実行すると、出力は以下のようになります:

こんにちは、世界!
I love Swift.

上記のプログラムでは、print("こんにちは、世界!")が文字列リテルを出力します。こんにちは、世界!。コンソールに表示されます。

プリントすると、"I love Swift."の場合、行を変更します(改行符を追加)printメソッドの引数terminatorにはデフォルト値\n(改行)があります。

したがって、print("I love Swift.")文は新しい行でメッセージを出力します。

例2:定数、変数、リテル文字列を印刷

var helloMsg = "Hello, World!"
print(helloMsg)
print(123.45)

このプログラムを実行すると、出力は以下のようになります:

こんにちは、世界!
123.45

変数や定数の名前を直接プリント関数に追加することで、変数や定数の値を印刷できます。上記のプログラムではprint(helloMsg)が変数helloMsgの値を印刷出力します。こんにちは、世界!

プリント文にリテル文字列を挿入できます。print(,123.45),それが以下のように123.45ダブルクォートを含まないフロートリテル文字列を印刷します。

例3:エンディングシンボル引数を使用して印刷し、リンクが切れないように

印刷出力を行う場合、改行符がない場合は、print関数のエンディングシンボル引数に空の文字列を次のように渡します:

print("こんにちは、世界!", terminator: "")
print("I love Swift.")
print("I also love Taylor Swift.")

このプログラムを実行すると、出力は以下のようになります:

こんにちは、世界!I love Swift.
I also love Taylor Swift.

上記のプログラムでは、terminatorはすべての項目が印刷された後に印刷される文字列です。

空の文字列をエンディングシンボルとして渡しました(デフォルトは改行符\n)。したがって、最初の文を印刷する際には新しい行が追加されず、print("I love Swift.")は同一行でメッセージを表示されます。

print("I love Swift.")関数が改行符を追加したため、print("I also love Taylor Swift")は新しい行で出力されます。

例4:一つのプリント関数で複数の項目を印刷

一つのプリント文で複数の項目を印刷し、これらの項目間に区切り文字を追加できます:

print("こんにちは、世界!", 2020, "またすぐ会おう", separator: ". ")

このプログラムを実行すると、出力は以下のようになります:

こんにちは、世界! 2020. またすぐ会おう

上記のプログラムでは、印刷ステートメントに異なるデータ型を追加し、カンマで区切っています。

印刷する項目は文字列です Hello, World!. 2020. またすぐに会います

引数にはセパレータ「.」を渡しています。これにより、各項目間にセパレータ「.」が挿入されます。これにより、結果を「.」で区切られた文字として表示できます。

例5:複数行を印刷

単一のprintステートメントで複数行を出力するには、以下のようにエスケープシーケンス\rを使用できます:

print("Hello, \rWorld!")

このプログラムを実行すると、出力は以下のようになります:

Hello, 
World!

例6:三重引用符を使用して複数行を印刷

Swiftでは、単一のprintステートメントで複数行のメッセージを出力するためのより良い方法があります。これは、三重引用符で文字を追加することで行われます。

print("""
Hello,
World!
"")

このプログラムを実行すると、出力は以下のようになります:

Hello,
World!

例7:文字列インテグレーションを使用して変数を印刷

変数や定数の値を文字列リテラルに追加することで、文字列リテラルに変数を括弧で囲み、アンダースコア(\)で前缀をつけることで、文字列インテグレーションを使用できます。

var helloMsg = "Hello, World!"
print("I have a message \(helloMsg)")

このプログラムを実行すると、出力は以下のようになります:

I have a message Hello, World!

print("I have a message \(helloMsg)")は、変数helloMsgの値を\(helloMsg)文字列リテラルに包装することで変数の値を挿入します。したがって、このステートメントは以下のように出力されます"I have a message Hello, World!"からスクリーン上。

Swiftの基本的な入力

Swiftでユーザーからの入力を取得するには、UIKitフレームワークを使用せずにXcode Playgroundで入力を行う必要があります。

Swiftフレームワークを使用して、Xcodeでコマンドラインアプリケーションを作成し、ユーザーからの入力を取得できます。

これはユーザーからの入力を取得するためのコードです。

例8:ユーザーから入力を取得するためにreadLine()を使用

print("あなたが好きなプログラミング言語", terminator: ".")
let name = readLine()
print("あなたが好きなプログラミング言語は \(name!)です")

このプログラムを実行すると、出力は以下のようになります:

あなたが好きなプログラミング言語を入力してください。
Swift
あなたが好きなプログラミング言語はSwiftです。

上記のプログラムでは、print 函数の出力を表示しています。あなたが好きなプログラミング言語を入力してください。デバッグエリアで。let name = readLine() という文は、ユーザーがデバッグエリアに入力するのを待っています。

“Swift”と入力し、Enterキーを押すと、readLine 函数は文字列を定数 name に割り当て、それをデバッグエリアに表示します。 あなたの好きなプログラミング言語は Swift です。

readLine 函数がオプショナル文字列を返すため、name! と同様に定数を強制的にアンラップする必要があります。

readLine 函数がオプショナル文字列を返すため、print(“あなたの好きなプログラミング言語は\(name!)”)という文では、定数 name を強制的にアンラップする必要があります。

この記事でSwift オプショナル内オプショナルに関する情報を詳しく学びます。