Вивчіть основи Свіфта менш ніж за десять хвилин

Swift - це відносно нова мова програмування, розроблена Apple Inc, яка спочатку була доступна розробникам Apple у 2014 році.

В першу чергу він був призначений як заміна застарілої мови Objective-C, що була основою розробки програмного забезпечення OS X та iOS на той час. Це було зроблено з відкритим кодом у грудні 2015 року.

Незважаючи на те, що він залишається в основному розробниками, орієнтованими на платформи Apple macOS та iOS, Swift також повністю підтримується в Linux, і неофіційні порти також розробляються для Windows.

На відміну від багатьох об'єктно-орієнтованих мов, які базуються на старих процедурних мовах - наприклад, C ++ та Objective-C базуються на C - Swift був розроблений з нуля як нова, сучасна, об'єктно-орієнтована мова, що робить програмування швидшим та простіше і допомагає розробникам створювати виразний код, який менш схильний до помилок, ніж багато мов.

Хоча Свіфт, не виходячи зі старої мови, за словами головного архітектора Кріса Латтнера, " був натхненний малюванням ідей з Ruby, Python, C #, CLU та надто багатьох інших для переліку ".

У цьому швидкому курсі аварій ми розглянемо основи використання мови програмування Swift. Ви дізнаєтесь:

  • Основний синтаксис Swift
  • Стрімка структура програми
  • Змінні та константи
  • Висновок типу
  • Змінні та постійні правила іменування
  • Друк та інтерполяція рядків

Давайте розпочнемо!

Цей аварійний курс адаптований до повного курсу Beginning Swift від Next Tech, який включає середовище, захищене браузером, із заздалегідь встановленим Swift. У ньому також є численні заходи для завершення. Ви можете перевірити це безкоштовно тут!

Швидкий синтаксис

У цьому першому розділі ми розглянемо основний мовний синтаксис Swift.

Як і багато сучасних мов програмування, Swift черпає найосновніший синтаксис із мови програмування C. Якщо у вас є попередній досвід програмування на інших мовах, натхненних C, багато аспектів Swift здадуться вам знайомими, наприклад:

  • Програми складаються з операторів, що виконуються послідовно.
  • На один рядок редактора допускається більше одного твердження, розділеного крапкою з комою ( ;).
  • Одиниці роботи в Swift модулюються за допомогою функцій і організовані у типи.
  • Функції приймають один або кілька параметрів і повертають значення.
  • Одно- та багаторядкові коментарі мають той самий синтаксис, що і в C ++ та Java.
  • Швидкі імена типів даних та їх використання подібні до таких, як у Java, C # та C ++.
  • Свіфт має поняття іменованих змінних, які можна змінювати, та іменованих констант, які є незмінними.
  • Swift має як структуру, так і семантику класів, як і у C ++ та C #.

Однак Swift має деякі вдосконалення та відмінності від мов, натхненних C, до яких вам, можливо, доведеться звикнути, наприклад:

  • Крапка з комою не потрібна в кінці операторів - за винятком випадків, коли вони використовуються для відокремлення декількох операторів, набраних у одному рядку у вихідному файлі.
  • Swift не має main()методу, який би служив початковою точкою програми, коли операційна система завантажує додаток. Швидкі програми починаються з першого рядка коду вихідного файлу програми - як це відбувається у більшості інтерпретованих мов.
  • Функції в Swift розміщують тип повернення функції в правій частині оголошення функції, а не в лівій.
  • Синтаксис оголошення параметрів функції натхненний Objective-C, який є зовсім іншим і часто спочатку заплутаним для розробників Java, C # та C ++.
  • Різниця між структурою та класом у Swift схожа на те, що ми маємо у C # (тип значення проти тип посилання), але не така, як у C ++ (обидва однакові, за винятком того, що члени структури загальнодоступні).

Стрімка структура програми - Hello, World!

Щоб проілюструвати основну структуру програми Swift, давайте створимо просту програму Swift для відображення рядка Hello, World.на консолі:

[Out:]Hello, World
Якщо ви використовуєте пісочницю Next Tech, ви можете слідувати разом із фрагментами коду в цьому курсі збоїв, просто набравши в редакторі. В іншому випадку ви можете слідувати разом із власною IDE - просто переконайтеся, що Swift встановлено!

Вітаємо! У двох рядках коду ви щойно написали свою першу повнофункціональну програму Swift.

Тепер давайте перейдемо до вивчення мови Swift та її використання - і розбийте кожну частину вашої Hello Worldпрограми!

Швидкі змінні

Практично всі мови програмування включають можливість програмістів зберігати значення в пам'яті, використовуючи відповідне ім'я, вибране програмістом. Змінні дозволяють програмам оперувати значеннями даних, які змінюються під час запуску програми.

У оголошенні змінної 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