10分未満でSwiftの基本を学ぶ

Swiftは、Apple Incによって設計された比較的新しいプログラミング言語であり、2014年にApple開発者が最初に利用できるようになりました。

これは主に、当時のOSXおよびiOSソフトウェア開発の基盤であった古いObjective-C言語の代替として意図されていました。2015年12月にオープンソース化されました。

主にApplemacOSおよびiOSプラットフォームを対象とする開発者によって使用されていますが、SwiftはLinuxでも完全にサポートされており、Windows用に開発中の非公式ポートもあります。

古い手続き型言語に基づく多くのオブジェクト指向言語とは異なり(たとえば、C ++やObjective-CはCに基づいています)、Swiftは、プログラミングを高速化し、より簡単で、開発者が多くの言語よりもエラーが発生しにくい表現力豊かなコードを作成するのに役立ちます。

Swiftは、古い言語に基づいていませんが、チーフアーキテクトであるChris Lattnerの言葉を借りれば、「Ruby、Python、C#、CLUなど、リストに載せるにはあまりにも多くのアイデアを引き出すことに触発されました」。

このクイッククラッシュコースでは、Swiftプログラミング言語の使用の基本について説明します。あなたは学びます:

  • 基本的なSwift構文
  • Swiftプログラムの構造
  • 変数と定数
  • 型推論
  • 可変および定数の命名規則
  • 印刷と文字列補間

始めましょう!

このクラッシュコースは、Swiftがプリインストールされたブラウザ内サンドボックス環境を含むNextTechの完全なBeginningSwiftコースを応用したものです。また、完了するための多数のアクティビティがあります。こちらから無料でチェックできます!

Swift構文

この最初のセクションでは、Swiftの基本的な言語構文を見ていきます。

多くの最新のプログラミング言語と同様に、Swiftはプログラミング言語Cから最も基本的な構文を引き出します。他のCに触発された言語でのプログラミング経験がある場合、Swiftの多くの側面はおなじみのようです。

  • プログラムはステートメントで構成され、順番に実行されます。
  • セミコロン(;)で区切ると、エディター行ごとに複数のステートメントを使用できます。
  • Swiftの作業単位は、関数を使用してモジュール化され、タイプに編成されています。
  • 関数は1つ以上のパラメーターを受け入れ、値を返します。
  • 1行コメントと複数行コメントは、C ++およびJavaと同じ構文に従います。
  • Swiftのデータ型の名前と使用法は、Java、C#、およびC ++の場合と同様です。
  • Swiftには、可変である名前付き変数と不変である名前付き定数の概念があります。
  • Swiftには、C ++やC#と同様に、構造体とクラスの両方のセマンティクスがあります。

ただし、Swiftには、次のような、慣れなければならない可能性のあるCに触発された言語とのいくつかの改善点と相違点があります。

  • ステートメントの最後にセミコロンは必要ありません—ソースファイルの同じ行に入力された複数のステートメントを区切るために使用される場合を除きます。
  • Swiftにはmain()、オペレーティングシステムがアプリケーションをロードするときにプログラムの開始点として機能する方法がありません。Swiftプログラムは、ほとんどのインタープリター言語の場合と同様に、プログラムのソースファイルのコードの最初の行から始まります。
  • Swiftの関数は、関数の戻り値の型を関数宣言の左側ではなく右側に配置します。
  • 関数パラメーター宣言の構文はObjective-Cに触発されています。これはまったく異なり、最初はJava、C#、およびC ++の開発者を混乱させることがよくあります。
  • Swiftの構造体とクラスの違いは、C#(値型と参照型)の違いと似ていますが、C ++の場合と同じではありません(構造体のメンバーがデフォルトでパブリックであることを除いて、どちらも同じです)。

Swiftプログラムの構造— Hello, World

Swiftプログラムの基本構造を説明するために、文字列Hello, World.をコンソールに表示する簡単なSwiftプログラムを作成しましょう。

[Out:]Hello, World
Next Techのサンドボックスを使用している場合は、エディターに入力するだけで、このクラッシュコースのコードスニペットをたどることができます。それ以外の場合は、独自のIDEを使用できます。Swiftがインストールされていることを確認してください。

おめでとう!2行のコードで、最初の完全に機能するSwiftプログラムを作成しました。

それでは、Swift言語の学習と使用に移りましょう。そして、Hello Worldプログラムの各部分を分解してみましょう。

Swift変数

事実上すべてのプログラミング言語には、プログラマーが選択した関連名を使用して値をメモリーに格納する機能が含まれています。変数を使用すると、プログラムは、プログラムの実行中に変更されるデータ値を操作できます。

Swift変数宣言は、次の基本的な構文を使用します。

var : t; =

Given this syntax, a legal declaration for a variable called pi would be:

This declaration means: “create a variable named pi , which stores a Doubledata type, and assign it an initial value of 3.14159”.

Swift Constants

You may want to store a named value in your program that will not change during the life of the program. How can we ensure that, once defined, this named value can never be accidentally changed by our code? By declaring a constant!

In our earlier Hello, World program, we declared message using let instead of var — therefore, message is a constant.

Since message was declared as a constant, if we added the following line of code to the end of our program, we would receive a compile-time error, since changing a let constant is illegal:

[Out:]error: cannot assign to value: ‘message’ is a ‘let’ constant

Generally, any time you create a named value that will never be changed during the run of your program, you should use the let keyword to create a constant. The Swift compiler enforces this recommendation by creating a compile-time warning whenever a var is created that is not subsequently changed.

Other than the restriction on mutating the value of a constant once declared, Swift variables and constants are used in virtually identical ways.

Type Inference

In our Hello World example, we created the constant message without specifying its data type. We took advantage of a Swift compiler feature called type inference.

When you assign the value of a variable or constant as you create it, the Swift compiler will analyze the right-hand side of the assignment, infer the data type, and assign that data type to the variable or constant you’re creating. For example, in the following declaration, the compiler will create the variable name as a String data type:

As a type-safe language, once a data type is inferred by the compiler, it remains fixed for the life of the variable or constant. Attempting to assign a non-string value to the name variable declared above would result in a compile-time error:

[Out:]error: “cannot assign value of type ‘Double’ to type ‘String’

While Swift is a type-safe language, where variable types are explicit and do not change, it is possible to create Swift code that behaves like a dynamic type language using the Swift Any data type. For example, the following code is legal in Swift:

While this is legal, it’s not a good Swift programming practice. The Any type is mainly provided to allow bridging between Objective-C and Swift code. To keep your code as safe and error-free as possible, you should use explicit types wherever possible.

Variable Naming Conventions

Swift variables and constants have the same naming rules as most C-inspired programming languages:

  • Must not start with a digit
  • After the first character, digits are allowed
  • Can begin with and include an underscore character
  • Symbol names are case sensitive
  • Reserved language keywords may be used as variable names if enclosed in backticks. For example:

When creating variable and constant names in Swift, the generally accepted naming convention is to use a camelCase naming convention, beginning with a lowercase letter. Following generally accepted naming conventions makes code easier for others to read and understand.

For example, the following would be a conventional variable declaration:

However, the following would not be conventional, and would be considered incorrect by many other Swift developers:

Unlike many other programming languages, Swift is not restricted to the Western alphabet for its variable name characters. You may use any Unicode character as part of your variable declarations. The following variable declarations are legal in Swift:

Note that just because you can use any Unicode character within a variable name, and can use reserved words as variables when enclosed in backticks, it doesn’t mean you should. Always consider other developers who may need to read and maintain your code in the future. The priority for variable names is that they should make code easier to read, understand, and maintain.

Printing and String Interpolation

In Swift, you can print a variable or a constant to your console using the print() function. Let’s create a variable and a constant and print them out.

Execute this snippet in your Code Editor to create a constant named name, and a variable named address:

[Out:]John Does lives at 201 Main Street

Both name and address store string text. By wrapping the variable or constant name in a pair of parentheses, prefixed by a backslash (\), we are able to print their stored values in a print statement — this is called string interpolation.

I hope you enjoyed this quick crash course on the basics of Swift! We learned about basic syntax and program structure, how to declare and use Swift variables and constants, type inference, printing, and string interpolation.

If you are interested in learning more about Swift, we have a full Beginning Swift course at Next Tech that you can start for free! In this course we cover:

  • Other basic programming concepts such as: optionals, tuples, enums, conditionals and loops, methods, structs, and classes.
  • Creating scripts and command line applications in Swift
  • Using Swift outside of iOS and macOS development lifecycles

Happy learning!

Original text