Contents
HELLO WORLDの色々
Hello、Worldをもう一度確認していきましょう!
/* 初めてのスイフト 4 */ コメントアウト var myString = "Hello, World!" ストリング指定 print(myString) プリントアウト
iOSプレイグラウンド用に同じプログラムを作成すると、インポートUIKitが含まれ、プログラムは次のように表示されます。
import UIKit var myString = "Hello, World!" print(myString)
適切なPLAYGROUNDを使って上記のプログラムを実行すると、次のようになります。
Hello, World!
Swift 4プログラムの基本的な構成を見てみましょう。これにより、Swift 4プログラミング言語の基本的な要素を簡単に理解できるようになります。
Swift 4でのインポート
import文を使用すると、任意のObjective-Cフレームワーク(またはCライブラリ)をSwift 4プログラムに直接インポートすることができます。たとえば、上記のimport cocoaステートメントは、すべてのOS Xの開発レイヤーを構成するすべてのCocoaライブラリ、API、およびランタイムをSwift 4で利用できます。
CocoaはCの進化系(ピカチューからライチューみたいな)であるObjective-Cで実装されているため、Swift 4アプリケーションにCとC ++を混在させることも可能です
スウィフト4のトークン
Swift 4プログラムはさまざまなトークンで構成され、トークンはキーワード、識別子、定数、文字列リテラル、またはシンボルのいずれかです。たとえば、次のSwift 4ステートメントは3つのトークンで構成されています。
ここでのトークンは「要素」と考えてください 難しい言い方をしました、
ちなみにトークンは それ以上分解できない単位 見たいな感じで思ってください。
print("test!") ここのトークンは: print("test!")
コメント
複数行のコメントは/ *で始まり、以下のように* /で終わる –
/* 初めてのスイフト4 */
/* 初めてのアコム! /* 初めてのアコム */ */
単一行コメントは、コメントの先頭に//を使用して記述されます。
//初めてのスイフト4
セミコロン
Swift 4では、コード内の 各宣言ステートメントの後にセミコロン(;)を入力する必要はありません。どっちでもいいです
ただし、同じ行に複数のステートメントを使用している場合は、区切り文字としてセミコロンを使用する必要があります。そうしないと、コンパイラーは構文エラーを発生させます。
/* 初めてのスイフト4*/ var firstString = "Hello, World!"; print(myString)
識別子
Swift 4識別子は、変数、関数、または他のユーザ定義アイテムを識別するために使用される名前です。識別子はアルファベットAからZまたはaからzまたはアンダースコア_の後にゼロ以上の文字、アンダースコア、および数字(0から9)で始まります。
Swift 4では、識別子の中に@、$、%などの特殊文字は使用できません。Swift 4は、大文字と小文字を区別するプログラミング言語です。
Azad zara abc move_name a_123 myname50 _temp j a23b9 retVal
キーワード 予約語
次のキーワードはSwift 4で予約されています。これらの予約語は、定数や変数などの識別子名として使用できません。
※予約語とは、プログラミング言語の仕様で定められた、変数名や関数名として定義できない単語のことをさします。
宣言で使用されるキーワード
Class | deinit | Enum | extension |
Func | import | Init | internal |
Let | operator | private | protocol |
public | static | struct | subscript |
typealias | var |
ステートメントで使用されるキーワード
break | case | continue | default |
do | else | fallthrough | for |
if | in | return | switch |
where | while |
式と型で使用されるキーワード
as | dynamicType | false | is |
nil | self | Self | super |
true | _COLUMN_ | _FILE_ | _FUNCTION_ |
_LINE_ |
特定のコンテキストで使用されるキーワード
associativity | convenience | dynamic | didSet |
final | get | infix | inout |
lazy | left | mutating | none |
nonmutating | optional | override | postfix |
precedence | prefix | Protocol | required |
right | set | Type | unowned |
weak | willSet |
ホワイトスペース 空白の扱い
空白のみを含む行(おそらくコメント付き)は空白行と呼ばれ、Swift 4コンパイラはそれを完全に無視します。
空白は空白、タブ、改行文字、およびコメントを記述するためにSwift 4で使用される用語です。例えば、次のステートメントでは、
var age
コンパイラがそれらを区別できるように、varとageの間に少なくとも1つの空白文字(通常はスペース)が必要です。一方、こちらでは
int fruit = apples + oranges //フルーツのトータルを求めます
果物と果物の間、または果物と果物の間に空白文字は必要ありませんが、読みやすさのためにいくつかを自由に入れても構いません。
オペレータの両側のスペースは、等しくなければならない。
int fruit = apples +oranges //間違った宣言 int fruit = apples + oranges //ただしい宣言
リテラル
リテラルは、整数、浮動小数点数、または文字列型の値のソースコード表現です。以下はリテラルの例です –
92 // Int 4.24159 // フロート "Hello, World!" // ストリング
プリントアウト
プリントアウトには3つの異なるプロパティがあります。
Items – 印刷するアイテム
Separator – 項目間の区切り記号
Terminator – 行を終了する値。例とその構文を見てみましょう。
print("Items to print", separator: "Value " , Terminator: "Value") print("Value one") print("Value one","Value two", separator: " Next Value" , terminator: " End")
上記のコードでは、最初のprint文ではデフォルトで\ n、newline Feedがターミネータとして追加されています。ここでは2番目のprint文でターミネータとして “End”を指定していますので、\ nではなく “End”を表示します。
ちなみにシュワちゃんでおなじみターミネーターの意味は「終わらせる人です」ガクブルですね 笑