Swift-基本構文

環境のセットアップ中に、Swift4プログラムの一部をすでに見てきました。次のことからもう一度始めましょうHello, World! OSXプレイグラウンド用に作成されたプログラム。 import Cocoa 以下に示すように-

/* My first program in Swift 4 */
var myString = "Hello, World!"

print(myString)

iOSプレイグラウンド用に同じプログラムを作成すると、次のようになります。 import UIKit プログラムは次のようになります-

import UIKit
var myString = "Hello, World!"
print(myString)

適切な遊び場を使用して上記のプログラムを実行すると、次の結果が得られます。

Hello, World!

ここで、Swift 4プログラムの基本構造を見てみましょう。これにより、Swift4プログラミング言語の基本的な構成要素を簡単に理解できるようになります。

Swift4にインポート

あなたは使用することができます importObjective-Cフレームワーク(またはCライブラリ)をSwift4プログラムに直接インポートするステートメント。たとえば、上記import cocoa ステートメントは、すべてのOS Xの開発レイヤーを形成するすべてのCocoaライブラリ、API、およびランタイムをSwift4で利用できるようにします。

CocoaはCのスーパーセットであるObjective-Cで実装されているため、Swift4アプリケーションにCやC ++を簡単に組み合わせることができます。

Swift4のトークン

Swift 4プログラムはさまざまなトークンで構成されており、トークンはキーワード、識別子、定数、文字列リテラル、または記号のいずれかです。たとえば、次のSwift4ステートメントは3つのトークンで構成されています-

print("test!")
The individual tokens are:
print("test!")

コメント

コメントは、Swift4プログラムのテキストを支援するようなものです。それらはコンパイラによって無視されます。以下に示すように、複数行コメントは/ *で始まり、文字* /で終わります。

/* My first program in Swift 4 */

複数行コメントはSwift4にネストできます。以下はSwift4の有効なコメントです。

/* My first program in Swift 4 is Hello, World!
/* Where as second program is Hello, Swift 4! */ */

1行コメントは、コメントの先頭に//を使用して記述されます。

// My first program in Swift 4

セミコロン

Swift 4では、コード内の各ステートメントの後にセミコロン(;)を入力する必要はありませんが、オプションです。セミコロンを使用する場合、コンパイラはそれについて文句を言いません。

ただし、同じ行で複数のステートメントを使用している場合は、区切り文字としてセミコロンを使用する必要があります。そうしないと、コンパイラーで構文エラーが発生します。上記のHello、World!を書くことができます。次のようにプログラムします-

/* My first program in Swift 4 */
var myString = "Hello, World!"; print(myString)

識別子

Swift 4識別子は、変数、関数、またはその他のユーザー定義アイテムを識別するために使用される名前です。識別子は、アルファベットAからZまたはaからzまたはアンダースコア_で始まり、その後に0個以上の文字、アンダースコア、および数字(0から9)が続きます。

Swift 4では、識別子内に@、$、%などの特殊文字を使用できません。Swift4はcase sensitiveプログラミング言語。したがって、Manpowerとmanpowerは、Swift 4の2つの異なる識別子です。受け入れ可能な識別子の例を次に示します。

Azad        zara   abc   move_name   a_123
myname50    _temp  j     a23b9       retVal

予約語を識別子として使用するには、前後にバッククォート( `)を付ける必要があります。例えば、class は有効な識別子ではありませんが、 `class`は有効です。

キーワード

次のキーワードはSwift4で予約されています。これらの予約語は、バッククォートでエスケープされていない限り、定数や変数、またはその他の識別子名として使用することはできません。

宣言で使用されるキーワード

クラス deinit 列挙型 拡張
機能 インポート 初期化 内部
しましょう オペレーター 民間 プロトコル
公衆 静的 構造体 添字
typealias var

ステートメントで使用されるキーワード

ブレーク 場合 継続する デフォルト
行う そうしないと フォールスルー にとって
もし に 戻る スイッチ
どこ 一方

式と型で使用されるキーワード

なので dynamicType false です
nil 自己 自己 素晴らしい
true _カラム_ _ファイル_ _関数_
_ライン_

特定のコンテキストで使用されるキーワード

結合性 利便性 動的 didSet
最後の 取得する 中置 inout
怠惰 左 突然変異 なし
非変異 オプション オーバーライド 後置
優先順位 プレフィックス プロトコル 必須
正しい セットする タイプ 所有されていない
弱い willSet

空白

おそらくコメント付きの空白のみを含む行は空白行と呼ばれ、Swift4コンパイラはそれを完全に無視します。

空白は、Swift 4で空白、タブ、改行文字、およびコメントを説明するために使用される用語です。空白はステートメントの一部を別の部分から分離し、コンパイラーがintなどのステートメントの1つの要素が終了し、次の要素が開始する場所を識別できるようにします。したがって、次のステートメントでは-

var age

間に少なくとも1つの空白文字(通常はスペース)が必要です var そして ageコンパイラがそれらを区別できるようにするため。一方、次のステートメントでは-

int fruit = apples + oranges   //get the total fruits

果物と=の間、または=とリンゴの間には空白文字は必要ありませんが、読みやすくするために空白文字を自由に含めることができます。

演算子の両側のスペースは等しくなければなりません。たとえば、

int fruit = apples +oranges    //is a wrong statement
int fruit = apples + oranges   //is a Correct statement

リテラル

リテラルは、整数、浮動小数点数、または文字列型の値のソースコード表現です。以下はリテラルの例です-

92               // Integer literal
4.24159          // Floating-point literal
"Hello, World!"  // String literal

Swiftでの印刷

何かをすばやく印刷するには、「print」キーワードがあります。

印刷には3つの異なるプロパティがあります。

Items –印刷するアイテム

Separator –アイテム間のセパレータ

Terminator –行が終了する値。同じ例と構文を見てみましょう。

print("Items to print", separator: "Value " , terminator: "Value")
// E.g. of print statement.

print("Value one")
// prints "Value one \n" Adds, \n as terminator and " " as separator by
default.

print("Value one","Value two", separator: " Next Value" , terminator: " End")
//prints "Value one Next Value Value two End"

上記のコードでは、最初のprintステートメントはデフォルトで\ n、改行フィードをターミネーターとして追加しますが、2番目のprintステートメントと同様に、ターミネーターとして「End」を指定したため、\ nの代わりに「End」を出力します。

要件に応じて、カスタムのセパレーターとターミネーターを提供できます。