Swift язык программирования для Ρ‡Π΅Π³ΠΎ

Swift. Π―Π·Ρ‹ΠΊ программирования с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠœΠΎΡ‰ΡŒ, простота ΠΈ ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰ΠΈΠ΅ прилоТСния.

Swift β€” это Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹ΠΉ ΠΈ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятный язык программирования ΠΎΡ‚ Apple, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния для iOS, Mac, Apple TV ΠΈ Apple Watch. Он прСдоставляСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π½Π΅Π±Ρ‹Π²Π°Π»ΡƒΡŽ свободу творчСства. Благодаря этому простому ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌΡƒ языку с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π²Π°ΠΌ достаточно просто интСрСсной ΠΈΠ΄Π΅ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π΅Ρ‡Ρ‚ΠΎ нСвСроятноС.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡƒΠΆΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ
ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ возмоТностями Swift.

Swift β€” это быстрый ΠΈ эффСктивный язык программирования с ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠΎΠΌ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄ Objective-C. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹Π΅ ΠΈ бСзопасныС ΠΊΠΎΠ΄Ρ‹, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΌΠΈ возмоТностями.

ΠŸΡ€Π΅ΠΊΡ€Π°ΡΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Swift. ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° использования ΠΈ ΠΎΡ‚ΠΊΠ»ΠΈΠΊ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ β€” Π²ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ VSCO Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Swift, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ своСго фотоприлоТСния для iOS.

ΠŸΡ€Π΅Π²ΠΎΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ прилоТСния,
Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ Π½Π° языкС Swift.

Всё большС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ ΠΊΠΎΠ΄ Swift Π² свои прилоТСния. А Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°ΠΆΠ΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Π² Swift ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½ΠΎΠ²Ρ‹Π΅ прилоТСния.

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΡˆΠ΅. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π»ΡƒΡ‡ΡˆΠ΅.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Swift прСвосходят оТидания. НапримСр, ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ поиска выполняСтся Π² Swift Π³ΠΎΡ€Π°Π·Π΄ΠΎ быстрСС.

Π’ Π³Ρ€Π°Ρ„Π΅ с использованиСм Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° поиска Π² Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ 10 000 Ρ†Π΅Π»Ρ‹Ρ… чисСл*

Π―Π·Ρ‹ΠΊ Swift Π΄ΠΎΠ±Π°Π²Π»Π΅Π½
Π² ΡƒΡ‡Π΅Π±Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π» Swift ΠΎΡ†Π΅Π½ΠΈΠ»ΠΈ ΡƒΡ‡Π΅Π±Π½Ρ‹Π΅ завСдСния ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ. Они ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Swift ΠΈ Xcode Π½Π° Mac для обучСния, обСспСчивая своих студСнтов Π»ΡƒΡ‡ΡˆΠΈΠΌΠΈ инструмСнтами для создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. А с бСсплатной ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΎΡ‚ Apple Β«Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° языкС SwiftΒ» Π΄Π°ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΈ Π»Π΅Π³ΠΊΠΎ пСрСходят ΠΎΡ‚ основ программирования ΠΊ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.

УнивСрситСты, Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ²ΡˆΠΈΠ΅ язык Swift Π² ΡƒΡ‡Π΅Π±Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ

Swift ΠΏΠΎΠ²ΡΡŽΠ΄Ρƒ.
И Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ для всСх.

Swift бСсплатно доступСн для использования Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, прСподаватСлями ΠΈ студСнтами ΠΏΠΎ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ Π½Π° распространСниС ПО с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ Apache 2.0. ΠœΡ‹ прСдоставляСм Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ для OS X ΠΈ Linux, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ для iOS, OS X, watchOS, tvOS ΠΈ Linux. А Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Swift Π² Π΅Ρ‰Ρ‘ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ язык, ΠΌΡ‹ создали Π½ΠΎΠ²ΠΎΠ΅ сообщСство, Π³Π΄Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π²Π½ΠΎΡΠΈΡ‚ΡŒ свой Π²ΠΊΠ»Π°Π΄ Π² исходный ΠΊΠΎΠ΄ Swift.

ΠŸΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ со Swift.

Главная ΠΊΠ½ΠΈΠ³Π°

Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ Π―Π·Ρ‹ΠΊ программирования Swift ΠΈΠ· Apple Books Store бСсплатно. Π£Π·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ благодаря Swift процСсс программирования становится Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ, Π³ΠΈΠ±ΠΊΠΈΠΌ ΠΈ ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ.

Xcode

Xcode β€” это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Mac, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Mac ΠΈ iOS. Π’ Xcode Π΅ΡΡ‚ΡŒ всС инструмСнты, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для создания ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ бСсплатно ΠΈΠ· Mac App Store.

Π’Π΅Π±-сайт для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΠΎΠ±Π·ΠΎΡ€ΠΎΠΌ языка Swift. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π±Π»ΠΎΠ³ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π² курсС послСдних новостСй. Π£ вас Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ бСсплатный доступ ΠΊ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ рСсурсам: руководствам, Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌ ΠΊΠΎΠ΄Π°.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘Ρ‚ΠΎΠΈΡ‚ Π»ΠΈ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Swift?

Если Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊΠΎΠΉ язык ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ, совСтуСм ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Swift, ΠΈ Π²ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ.

1. Π§Ρ‚ΠΎ прСдставляСт собой Swift ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ Π±Ρ‹Π» Ρ‚Π°ΠΊ Π½Π°Π·Π²Π°Π½?

Swift – ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΈ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятный язык программирования для macOS, iOS, watchOS ΠΈ tvOS, Π½ΠΎ отличаСтся ΠΎΡ‚ Objective-C Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ возмоТностСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ связью с C. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Swift ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ бСзопасным, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ язык ΠΈΠΌΠ΅Π΅Ρ‚ ΡΡ‚Ρ€ΠΎΠ³ΡƒΡŽ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ: Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Π΅Ρ‚Π΅, с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΊΠ°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅. Π“Π»Π°Π²Π½Ρ‹ΠΌ Π΅Π³ΠΎ прСимущСством являСтся ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ: ΠΊΠ°ΠΊ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΈ запускС Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ прилоТСния. ИмСнно Π·Π° это прСимущСство ΠΏΠ΅Ρ€Π΅Π΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками (ΠΏΠΎ завСрСниям создатСлСй, ΠΎΠ½ Π²ΠΎΠ±Ρ€Π°Π» Π² сСбя всё Π»ΡƒΡ‡ΡˆΠ΅Π΅ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков программирования) Π΅Π³ΠΎ ΠΈ Π½Π°Π·Π²Π°Π»ΠΈ Swift (Π² ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ β€” быстрый).

2. Π§Ρ‚ΠΎ стоит ΡƒΡ‡ΠΈΡ‚ΡŒ, Objective-C ΠΈΠ»ΠΈ Swift?

Π­Ρ‚ΠΎΡ‚ вопрос ΡˆΠΈΡ€ΠΎΠΊΠΎ обсуТдался с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° появлСния Swift, Π½ΠΎ ΠΊΠ°ΠΊ ΠΈ Ρ‚ΠΎΠ³Π΄Π°, Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ Π΅Π³ΠΎ изучСния большС. Π”Π° ΠΈ сама Apple Π½Π΅ Ρ€Π°Π· Π΄Π°Π²Π°Π»Π° ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ β€” Π·Π° Swift. ΠŸΡ€ΠΈ этом, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ с Objective-C, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ вСрсиями. По этой ΠΆΠ΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚ΠΎΠ΄Π°Ρ‚Π΅Π»ΡŽ относятся ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ отказываСтся ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Objective-C, считая, Ρ‡Ρ‚ΠΎ Swift Π΅Ρ‰Ρ‘ достаточно сырой.

3. ΠŸΠΎΡ‡Π΅ΠΌΡƒ Swift быстрСС Π΄Ρ€ΡƒΠ³ΠΈΡ… языков? ΠœΠΎΠΆΠ΅Ρ‚ это Π½Π΅ΠΏΡ€Π°Π²Π΄Π°?

Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π€ΠΎΡ‚ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎApple хвастаСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Swift Π΄ΠΎ 2.6 Ρ€Π°Π· быстрСС, Ρ‡Π΅ΠΌ Objective-C, ΠΈ Π½Π° 8,4 Ρ€Π°Π·Π° быстрСС, Ρ‡Π΅ΠΌ Python 2.7. Π”ΡƒΠΌΠ°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ вопроса ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ быстром Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ β€” ΠΈ Ρ‚Π°ΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ понятно, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ быстрый ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ эффСктивно ΠΈ ΠΏΠ»Π°Π²Π½ΠΎ, Ρ‡Ρ‚ΠΎ позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΠ΅ ΠΎΡ‚ взаимодСйствия с устройством.

4. Π― ΡΠ»Ρ‹ΡˆΠ°Π», Ρ‡Ρ‚ΠΎ ΡƒΡ‡ΠΈΡ‚ΡŒ Swift ΠΎΡ‡Π΅Π½ΡŒ просто. Π’Π°ΠΊ Π»ΠΈ это?

МоТно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊ. Swift Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠΎΠ³Π»ΠΈ Π»Π΅Π³ΠΊΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнныС прилоТСния, поэтому Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСвСроятно Π»Π΅Π³ΠΊΠΎ. Π’ Apple ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ своё Π΄Π΅Ρ‚ΠΈΡ‰Π΅ с языком сцСнариСв, Π° программисты с BASIC.

5. Π’ΠΎ Π΅ΡΡ‚ΡŒ я ΠΌΠΎΠ³Ρƒ просто Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ сразу Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² App Store?

6. Π Π°Π· всё Ρ‚Π°ΠΊ просто, ΠΊΠ°ΠΊ быстро я стану профСссионалом?

Π’ΠΎΠΎΠ±Ρ‰Π΅ говоря, это спорный вопрос. Swift постоянно ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΡƒΠ΅Ρ‚ΡΡ, поэтому истинными экспСртами ΡΠ²Π»ΡΡŽΡ‚ΡΡ лишь Π΅Π³ΠΎ создатСли. Π”Π°ΠΆΠ΅ Ссли Π²Ρ‹ сами создали нСсколько ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ освоили ряд ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… курсов ΠΈ ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… пособий, Π²Ρ‹ всё Ρ€Π°Π²Π½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ…, Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ Π½Π° собСсСдованиях говорят, Ρ‡Ρ‚ΠΎ постоянно ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΡƒΡŽΡ‚ΡΡ, Π° Π½Π΅ достигли ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²Π° ΡƒΠΆΠ΅ ΠΊ этому ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ).

Π’ΠΎ всяком случаС, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠΎΠΈΠ³Ρ€Π°Π΅Ρ‚Π΅ΡΡŒ со Swift ΠΈ ΠΏΡ€ΠΎΡ‰ΡƒΠΏΠ°Π΅Ρ‚Π΅ Π΅Π³ΠΎ, ΠΏΠΎΠΉΠΌΡ‘Ρ‚Π΅, нравится Π²Π°ΠΌ это ΠΈΠ»ΠΈ Π½Π΅Ρ‚ ΠΈ приступитС ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Ρ‚ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅ΡΡŒ ΡΡ‚Π°Ρ‚ΡŒ профСссионалом. А Π²ΠΎΠΎΠ±Ρ‰Π΅, всё зависит ΠΎΡ‚ вас.

7. А всё-Ρ‚Π°ΠΊΠΈ, Π·Π°Ρ‡Π΅ΠΌ Π±Ρ‹Π»ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ язык, Ссли старый Π±Ρ‹Π» Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ?

Когда-Ρ‚ΠΎ, Objective-C Π±Ρ‹Π» основным языком программирования Apple для написания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π΅Ρ‰Ρ‘ со Π²Ρ€Π΅ΠΌΡ‘Π½ OS X. Но Π·Π° это врСмя языки ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° программирования сильно измСнились, особСнно Π² области мобильной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ староС, Apple Ρ€Π΅ΡˆΠΈΠ»Π° ΠΏΠΎΠΉΡ‚ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡƒΡ‚Ρ‘ΠΌ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ сам ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅, сдСлав процСсс Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ.

8. А ΠΊΠ°ΠΊ ΠΆΠ΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Swift Π΅Ρ‰Ρ‘ Π½Π΅ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π½ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°?

Ну, Π½Π΅ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Π² блиТайшиС Π³ΠΎΠ΄Ρ‹ Apple Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Swift, вСдь это Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ убийство. Π—Π΄Π΅ΡΡŒ, ΠΊΠ°ΠΊ ΠΈ Π² случаС с Π»ΡŽΠ±Ρ‹ΠΌ Π½ΠΎΠ²Ρ‹ΠΌ языком, сущСствуСт Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ошибок. Но всё постоянно обновляСтся, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это Π² интСрСсах самой Apple. ΠšΡΡ‚Π°Ρ‚ΠΈ, Π² Google ΡƒΠΆΠ΅ ΠΏΠΎΠ΄ΡƒΠΌΡ‹Π²Π°ΡŽΡ‚ Π½Π°Π΄ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ запуска Swift-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Apple, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ρƒ Π½Π΅Π³ΠΎ всё Π΅Ρ‰Ρ‘ Π²ΠΏΠ΅Ρ€Π΅Π΄ΠΈ.

9. Π― ΠΊΠΎΠ³Π΄Π°-Ρ‚ΠΎ ΠΈΠ·ΡƒΡ‡Π°Π» языки программирования. На Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆ этот язык?

ВСроятнСС всСго, Π½Π° Ruby ΠΈΠ»ΠΈ Python. Π₯отя здСсь ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΈ синтаксис ΠΈΠ· C.

10. Π‘Π»Ρ‹ΡˆΠ°Π» Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠ°ΠΎ. МоТно ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅?

Ну Π²ΠΎΡ‚, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ ΠΎ Swift, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ, стоит Π»ΠΈ Π΅Π³ΠΎ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ. Π₯отя наш совСт β€” Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ скорСС, для этого ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ наши ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Для Ρ‡Π΅Π³ΠΎ Ρ…ΠΎΡ€ΠΎΡˆ Swift?

ΠΠ²Ρ‚ΠΎΡ€ΠΈΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ

Для Ρ‡Π΅Π³ΠΎ Ρ…ΠΎΡ€ΠΎΡˆ Swift?

Swift β€” это Ρ€ΠΎΠ΄Π½ΠΎΠΉ язык для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ экосистСмы Apple: iOS, iPadOS, watchOS, tvOS ΠΈ macOS. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΈΡˆΡƒΡ‚ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния ΠΈ дСсктопныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. А с Π½Π΅Π΄Π°Π²Π½Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

ΠŸΡ€Π΅Π΄ΠΎΠΊ Swift, Objective-C, ΡƒΠΆΠ΅ сдаёт ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚ Π² скорости Ρ€Π°Π±ΠΎΡ‚Ρ‹. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, ΠΊΠΎΠ΄ Π½Π° Swift Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ читаСтся ΠΈ Π΅Π³ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°ΠΆΠ΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ.

Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π€ΠΎΡ‚ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ

ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° с сайта tekrevol.com

ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния

Swift β€” СдинствСнный соврСмСнный язык для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² экосистСмС Apple. Π’Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ XCode β€” СдинствСнная ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ IDE для этого. Π§Ρ‚ΠΎ с ΠΎΠ΄Π½ΠΎΠΉ стороны ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π² Π²Ρ‹Π±ΠΎΡ€Π΅, с Π΄Ρ€ΡƒΠ³ΠΎΠΉ β€” Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ спСциализированный инструмСнт для Ρ€Π°Π±ΠΎΡ‚Ρ‹.
Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Metal API (ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΎΡ‚ Apple) Π΄Π΅Π»Π°ΡŽΡ‚ ΠΈΠ³Ρ€Ρ‹ ΠΈ 3D Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ. А Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ARKit позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (AR).

ДСсктоп

Π•Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΎ ΠΈΠ· основных ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ языка β€” дСсктопныС прилоТСния для macOS. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Π°ΠΊΠΆΠ΅ вСдСтся Π² XCode с использованиСм мноТСства Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ для ΠΊΠΎΠ΄Π° ΠΈ UI. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Visual Studio 2019 позволяСт ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° Swift ΠΏΠΎΠ΄ Windows.

Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹Π΅ ΠΈ Π²Π΅Π± прилоТСния

Π­Ρ‚ΠΎΡ‚ язык позволяСт ΠΈ Ρ‚Π°ΠΊΠΎΠ΅. НапримСр Vapor β€” Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ написан Π½Π° Swift. Vapor позволяСт ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Π΅Π±-прилоТСния, сайты, API, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ HTTP Π»ΠΈΠ±ΠΎ WebSockets. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Vapor Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ². Π”Π° ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ язык Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΈ сСрвСрС β€” это ΡƒΠ΄ΠΎΠ±Π½ΠΎ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π―Π·Ρ‹ΠΊ программирования Swift. Русская вСрсия

Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π€ΠΎΡ‚ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π₯Π°Π±Ρ€! 2 июня всС ΠΌΡ‹ Π²ΠΎΠΎΡ‡ΠΈΡŽ ΠΌΠΎΠ³Π»ΠΈ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ компания Apple Π½Π°Ρ‡Π°Π»Π° Ρ‚Π²ΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΡŽ Π² станС Objective-C Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², прСдставив ΠΌΠΈΡ€Ρƒ свой Π½ΠΎΠ²Ρ‹ΠΉ язык программирования – Swift. ВмСстС с этим, ΠΎΠ½Π° Π²Ρ‹Π»ΠΎΠΆΠΈΠ»Π° Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ доступ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ языку, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ пСрСвСсти, Ссли Π½Π° Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ спрос. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ Π²Π°ΡˆΠ΅ΠΌΡƒ вниманию ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π³Π»Π°Π²Ρ‹. Если Ρ‚Π΅ΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ интСрСсна, Ρ‚ΠΎ ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ нСдСлю.

ОглавлСниС

Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² Swift
О Swift
Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Swift

Language guide
The Basics
Basic Operators
String and Characters
Collection Types
Control Flow
Functions
Closures
Enumerations
Classes and Structures
Properties
Methods
Subscripts
Inheritance
Initialization
Deinitialization
Automatic Reference Counting
Optional Chaining
Type Casting
Nested Types
Extensions
Protocols
Generics
Advanced Operators

Language Reference
About the Language Reference
Lexical Structure
Types
Expressions
Statements
Declarations
Attributes
Patterns
Generic Parameters and Arguments
Summary of the Grammar
Trademarks

Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² Swift

О языкС Swift

Swift – это Π½ΠΎΠ²Ρ‹ΠΉ язык программирования для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ iOS ΠΈ OS X ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сочСтаСт Π² сСбС всС Π»ΡƒΡ‡ΡˆΠ΅Π΅ ΠΎΡ‚ C ΠΈ Objective-C, Π½ΠΎ лишСн ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ, Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Π² ΡƒΠ³ΠΎΠ΄Ρƒ совмСстимости с C. Π’ Swift ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ бСзопасного программирования ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ соврСмСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠ΅ созданиС прилоТСния Π² простой, Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΈ ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ процСсс. Swift, созданый Π½Π°ΠΌΠΈ с чистого листа, – это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сСбС, ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ прилоТСния.

Swift разрабатывался Π½Π°ΠΌΠΈ нСсколько Π»Π΅Ρ‚. Основой Π½ΠΎΠ²ΠΎΠ³ΠΎ языка программирования послуТили ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ компилятор, ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ. ΠœΡ‹ упростили процСсс управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° автоматичСского подсчСта ссылок – Automatic Reference Counting (ARC). Наши Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π»ΠΈΡΡŒ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ. Objective-C Π½Π°Ρ‡Π°Π» ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊΠΈ, Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ – всС это создало благоприятныС условия для внСдрСния соврСмСнных Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. ИмСнно эта ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° послуТила Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ΠΎΠΌ для Π½ΠΎΠ²ΠΎΠ³ΠΎ языка программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² для Apple.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Objective-C Swift покаТСтся Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΌ. Он сочСтаСт Π² сСбС Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ ΠΌΠΎΡ‰ΡŒ динамичСской ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Objective-C. Он ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ доступ ΠΊ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°ΠΌ Cocoa ΠΈ совмСстим с ΠΊΠΎΠ΄ΠΎΠΌ, написанным Π½Π° Objective-C. ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½Π½Ρ‹ΠΉ Π½Π° этой ΠΎΠ±Ρ‰Π΅ΠΉ основС язык ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ мноТСство Π½ΠΎΠ²Ρ‹Ρ… возмоТностСй ΠΈ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Π΅ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ аспСкты языка программирования.

Swift Π½Π΅ ΠΎΡ‚ΠΏΡƒΠ³Π½Π΅Ρ‚ ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… программистов. Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ язык программирования, Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ понятный ΠΈ ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, ΠΊΠ°ΠΊ скриптовый язык. Он ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ playground-Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ программистам ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΊΠΎΠ΄ΠΎΠΌ, видя Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π±Π΅Π· нСобходимости ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Swift Π²ΠΎΠ±Ρ€Π°Π» Π² сСбя всС Π»ΡƒΡ‡ΡˆΠ΅Π΅ ΠΎΡ‚ соврСмСнных языков ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΎΠ±ΡˆΠΈΡ€Π½ΠΎΠ³ΠΎ ΠΎΠΏΡ‹Ρ‚Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Apple. Наш компилятор – синоним ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, наш язык ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±Π΅Π· оглядки Π½Π° компромиссы. Он спроСктирован Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ смогли Π»Π΅Π³ΠΊΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ вашС ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Β«hello, world!Β», ΠΈ Π΄Π°ΠΆΠ΅ Ρ†Π΅Π»ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму. ВсС это Π΄Π΅Π»Π°Π΅Ρ‚ Swift Π²Π°ΠΆΠ½Ρ‹ΠΌ инструмСнтом для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ для самой ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Apple.

Swift – это Π½ΠΎΠ²Ρ‹ΠΉ фантастичСский способ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния для iOS ΠΈ OS X, ΠΈ ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, добавляя Π½ΠΎΠ²Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΈ прСдставляя Π½ΠΎΠ²Ρ‹Π΅ возмоТности. Наша Ρ†Π΅Π»ΡŒ – Π°ΠΌΠ±ΠΈΡ†ΠΈΠΎΠ·Π½Π°. И ΠΌΡ‹ с Π½Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π½ΠΈΠ΅ΠΌ ΠΆΠ΄Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ сумССтС ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π½Π΅Π³ΠΎ.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Swift

Если Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΈ Π½Π° C ΠΈΠ»ΠΈ Objective-C этот синтаксис Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π²Π°ΠΌ Π΄ΠΎ Π±ΠΎΠ»ΠΈ Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΌ – Π² Swift эта строчка ΠΊΠΎΠ΄Π° являСтся Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. Π’Π°ΠΌ большС Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для обСспСчСния Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° Π²Ρ€ΠΎΠ΄Π΅ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° Π² консоль ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками. Код, написанный Π² глобальной области видимости, являСтся Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π²Ρ…ΠΎΠ΄Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ функция main большС Π½Π΅ Π½ΡƒΠΆΠ½Π°. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° отсутствиС Ρ‚ΠΎΡ‡ΠΊΠΈ с запятой Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки.

Π­Ρ‚ΠΎ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ содСрТит достаточно ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° Swift. НС ΠΏΠ΅Ρ€Π΅ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅, Ссли Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ нСпонятно – ΠΌΡ‹ всС Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ объясним Π² ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π³Π»Π°Π²Π°Ρ….

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
Для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° ΠΌΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ playground Π² Xcode. Playground позволяСт Π²Π°ΠΌ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ сразу Π² процСссС рСдактирования ΠΊΠΎΠ΄Π° Π±Π΅Π· нСобходимости ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ let для создания константы ΠΈ var для создания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π’ΠΈΠΏ константы ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π΅ΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ лишь Π΅Π΄ΠΈΠ½ΠΎΠΆΠ΄Ρ‹.

Π’ΠΈΠΏΡ‹ константы ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ присваиваСмых ΠΈΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Однако это Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… Ρ‚ΠΈΠΏ. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ автоматичСски ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ Ρ‚ΠΈΠΏ константы ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΈ присваивании ΠΈΠΌ значСния. Π’Π°ΠΊ, Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ компилятор ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚, Ρ‡Ρ‚ΠΎ myVariable ΠΈΠΌΠ΅Π΅Ρ‚ цСлочислСнный Ρ‚ΠΈΠΏ.

Если ΠΆΠ΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ отсутствуСт ΠΈΠ»ΠΈ Π½Π΅ прСдоставляСт достаточной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ послС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Ρ€Π°Π·Π΄Π΅Π»ΠΈΠ² Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ Ρ‚ΠΈΠΏ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ:

Π”Π°Π²Π°ΠΉΡ‚Π΅ поэкспСримСнтируСм
Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ константу с Ρ‚ΠΈΠΏΠΎΠΌ Float ΠΈ ΠΏΡ€ΠΎΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΅Π΅ числом 4.

ЗначСния Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΈΠΏ нСявно. Если Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΈΠΏ, Π΄Π΅Π»Π°ΠΉΡ‚Π΅ это явно:

Π”Π°Π²Π°ΠΉΡ‚Π΅ поэкспСримСнтируСм
ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ явноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊ Ρ‚ΠΈΠΏΡƒ String Π² послСднСй строкС. ΠšΠ°ΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅?

Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ простой способ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² строки: для этого Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² скобки ΠΈ ΠΏΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ слэш ( \ ). ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Π”Π°Π²Π°ΠΉΡ‚Π΅ поэкспСримСнтируСм
ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ \() ΠΈ Π²Ρ‹Π²Π΅Π΄ΠΈΡ‚Π΅ Π½Π° экран строку, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΡƒΡŽ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ суммы Π΄Π²ΡƒΡ… цСлочислСнных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ‡ΡŒΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ имя.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с массивами ΠΈ ассоциативными массивами (словарями, dictionary) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки ( [] ):

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ пустой массив ΠΈΠ»ΠΈ dictionary, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:

Для создания пустых массивов ΠΈ словарСй ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ [] ΠΈ [:] соотвСтствСнно, – Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ присваиваСтС Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

Условия ΠΈ Ρ†ΠΈΠΊΠ»Ρ‹

УсловиС Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° if Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ логичСским, это Π² частности ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ if score <…>являСтся ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ здСсь Π½Π΅Ρ‚ явного сравнСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с Π½ΡƒΠ»Π΅ΠΌ).

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π° switch ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ сСбя мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² сравнСния ΠΈ Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ лишь простыми сравнСниями:

Π”Π°Π²Π°ΠΉΡ‚Π΅ поэкспСримСнтируСм
ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ условиС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. ΠšΠ°ΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅?

Для пСрСбирания элСмСнтов ассоциативного массива ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ for-in совмСстно с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ°Ρ€Ρ‹ ΠΈΠΌΠ΅Π½ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°Ρ€Ρ‹ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π”Π°Π²Π°ΠΉΡ‚Π΅ поэкспСримСнтируСм
Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, которая ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Ρ‚ΠΈΠΏΠΎΠ² относится Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ΅ максимальноС число.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ†ΠΈΠΊΠ»Π° while позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° условиС Π½Π΅ станСт Π»ΠΎΠΆΠ½Ρ‹ΠΌ. УсловиС Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ΠΎ послС Π±Π»ΠΎΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Ρ‚Π°ΠΊΠΎΠΌ случаС Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ замыкания.

Π”Π°Π²Π°ΠΉΡ‚Π΅ поэкспСримСнтируСм
Π£Π΄Π°Π»ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ day. ВмСсто Π½Π΅Π³ΠΎ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΡƒΡŽ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π½Π° ΠΎΠ±Π΅Π΄ блюда.

Если функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ мноТСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ:

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ число Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²:

Π”Π°Π²Π°ΠΉΡ‚Π΅ поэкспСримСнтируСм
ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ срСднСС арифмСтичСскоС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ числа своих Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ Π² Π΄Ρ€ΡƒΠ³Π°. ВлоТСнная функция ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹ΠΌ Π²ΠΎ внСшнСй Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ привСсти Π² порядок ΠΊΠΎΠ΄ слоТной ΠΈΠ»ΠΈ большой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ класса (first-class type), ΠΈΠ½Ρ‹ΠΌΠΈ словами, функция Π² качСствС свого Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

Ѐункция Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² качСствС ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

Π”Π°Π²Π°ΠΉΡ‚Π΅ поэкспСримСнтируСм
ΠŸΠ΅Ρ€Π΅ΠΏΠΈΡˆΠΈΡ‚Π΅ Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π»ΠΎ ноль для всСх Π»ΠΈΡˆΠ½ΠΈΡ… чисСл.

БущСствуСт нСсколько Ρ‚Π΅Ρ…Π½ΠΈΠΊ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Π΄Π΅Π»Π°Ρ‚ΡŒ замыкания Π±ΠΎΠ»Π΅Π΅ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΌΠΈ. Если Ρ‚ΠΈΠΏ замыкания Π°ΠΏΡ€ΠΈΠΎΡ€ΠΈ извСстСн (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, это callback Π΄Π΅Π»Π΅Π³Π°Ρ‚Π°), ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° Π΅Π³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ/ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏΠ° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния. Замыкания, состоящиС ΠΈΠ· СдинствСнного выраТСния, нСявно Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ этого выраТСния.

Π’ Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠΈ вмСсто указания ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ порядковый Π½ΠΎΠΌΠ΅Ρ€ – это особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ написании ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠΉ. Π—Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠ΅, ΡΠ²Π»ΡΡŽΡ‰Π΅Π΅ΡΡ послСдним Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ Π² Π½Π΅Π΅ сразу послС ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобок с ΠΏΠ΅Ρ€Π΅Ρ‡Π½Π΅ΠΌ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ классы

Π”Π°Π²Π°ΠΉΡ‚Π΅ поэкспСримСнтируСм
Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ константу-Ρ‡Π»Π΅Π½ класса ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ класса, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΡƒΡŽ Π΅Π΅ Π² качСствС своСго Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ экзСмпляр (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚) класса, достаточно Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки послС названия класса. Доступ ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ ΠΈ Ρ‡Π»Π΅Π½Π°ΠΌ класса осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ.

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ класс ΠΎΡ‚ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ класса, послС указания ΠΈΠΌΠ΅Π½ΠΈ Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅Π³ΠΎ класса слСдуСт ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ. Π’ Swift Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ наслСдованию ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ стандартного класса.

Π£ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² классов имССтся ΠΎΠ΄Π½ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Названия Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ класса ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° (ΠΊΡ€ΠΎΠΌΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°). По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ класса ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ названия ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅, Ρ‚Π°ΠΊ ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ сСбя. Однако Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ (Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅ – times ), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ использовано Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. ΠŸΡ€ΠΈ этом для Π²Ρ‹Π·ΠΎΠ²Π° этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ( numberOfTimes ).

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹

Π”Π°Π²Π°ΠΉΡ‚Π΅ поэкспСримСнтируСм
ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая сравниваСт 2 пСрСчислСния Ρ‚ΠΈΠΏΠ° Rank ΠΏΠΎ ΠΈΡ… значСниям.

Π’ Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ элСмСнты пСрСчислСния ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ цСлочислСнный Ρ‚ΠΈΠΏ, ΠΈ Π²Π°ΠΌ достаточно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта – значСния ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π² соотвСтствии с порядком ΠΈΡ… слСдования. Π’ качСствС исходного Ρ‚ΠΈΠΏΠ° (raw value) Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ элСмСнтов Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ строковый ΠΈΠ»ΠΈ вСщСствСнныС Ρ‚ΠΈΠΏΡ‹.

ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ значСния элСмСнтов пСрСчислСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ фактичСскими, Π° Π½Π΅ просто ΠΈΠ½ΠΎΠΉ записью своих исходных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π’ΠΎΠΎΠ±Ρ‰Π΅ говоря, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… исходныС значСния.

Π”Π°Π²Π°ΠΉΡ‚Π΅ поэкспСримСнтируСм
Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² структуру Card ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ΄Ρƒ ΠΊΠ°Ρ€Ρ‚.

ЭкзСмпляр Ρ‡Π»Π΅Π½Π° пСрСчислСния ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ собствСнныС значСния ΠΈ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ. Π’Ρ‹ присваиваСтС эти значСния ΠΏΡ€ΠΈ создании экзСмпляра пСрСчислСния (константа success Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅). БвязанныС ΠΈ исходныС значСния это Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ: исходноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‡Π»Π΅Π½Π° пСрСчислСния всСгда постоянно для всСх экзСмпляров пСрСчислСния ΠΈ указываСтся ΠΏΡ€ΠΈ Π΅Π³ΠΎ объявлСнии.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ получСния с сСрвСра Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ восхода ΠΈ Π·Π°ΠΊΠ°Ρ‚Π° Π‘ΠΎΠ»Π½Ρ†Π°. Π‘Π΅Ρ€Π²Π΅Ρ€ отправляСт Π² ΠΎΡ‚Π²Π΅Ρ‚ Π»ΠΈΠ±ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π»ΠΈΠ±ΠΎ сообщСниС ΠΎΠ± ошибкС.

Π”Π°Π²Π°ΠΉΡ‚Π΅ поэкспСримСнтируСм
Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π° switch

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ServerResponse β€œΠ²Ρ‹Ρ‚Π°ΡΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡβ€ врСмя восхода ΠΈ Π·Π°ΠΊΠ°Ρ‚Π°.

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ ΠΈ Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ.

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ классами, пСрСчислСниями ΠΈ структурами.

Π”Π°Π²Π°ΠΉΡ‚Π΅ поэкспСримСнтируСм
Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ пСрСчислСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ этот ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ».

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΊΠ°ΠΊ ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΈΠΏ – Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ±Ρ‰ΠΈΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ». Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ Π²Π½Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°, Π±ΡƒΠ΄ΡƒΡ‚ нСдоступны.

ΠžΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ (generics)

Для создания ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ имя Π² ΡƒΠ³Π»ΠΎΠ²Ρ‹Π΅ скобки ( <> ).

Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, классы, пСрСчислСния ΠΈ структуры.

Π”Π°Π²Π°ΠΉΡ‚Π΅ поэкспСримСнтируСм
Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ anyCommonElements Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π»Π° массив ΠΎΠ±Ρ‰ΠΈΡ… элСмСнтов.

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ подписки Π² iOS-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° 10 ΠΌΠΈΠ½ΡƒΡ‚? Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ Apphud ΠΈ:
β€” оформляйтС ΠΏΠΎΠΊΡƒΠΏΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ лишь ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°;
β€” автоматичСски отслСТивайтС состояниС подписки ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ;
β€” Π»Π΅Π³ΠΊΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ Subscription Offers;
β€” отправляйтС события ΠΎ подписках Π² Amplitude, Mixpanel, Slack ΠΈ Telegram с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ локальной Π²Π°Π»ΡŽΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ;
β€” ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°ΠΉΡ‚Π΅ Churn rate Π² прилоТСниях ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ ΠΎΡ‚ΠΏΠΈΡΠ°Π²ΡˆΠΈΡ…ΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π―Π·Ρ‹ΠΊ программирования Swift: история, особСнности, пСрспСктивы

Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π€ΠΎΡ‚ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ

Swift появился Π² 2014 Π³ΠΎΠ΄Ρƒ. Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»Π΅ΠΌ языка программирования являСтся компания Apple. Богласно заявлСниям ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… прСдставитСлСй, Π‘Π²ΠΈΡ„Ρ‚ Π±Ρ‹Π» Π·Π°Π»ΠΎΠΆΠ΅Π½ Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ NeXT, которая Π²Ρ‹ΠΏΡƒΡΠΊΠ°Π»Π°ΡΡŒ Π² Π½Π°Ρ‡Π°Π»Π΅ 90-Ρ… Π³ΠΎΠ΄ΠΎΠ² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ столСтия. ИмСнно эта ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΈ стала ΠΏΡ€Π°Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΈΡ†Π΅ΠΉ соврСмСнный iOS ΠΈ macOS.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ вСрсии языка сотрудники Apple занимались Π΅Ρ‰Π΅ с 2010 Π³ΠΎΠ΄Π°. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ этот язык Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ «родитСля». ВмСсто этого, создатСли Swift взяли ΠΏΠΎΠ½Π΅ΠΌΠ½ΠΎΠ³Ρƒ ΠΎΡ‚ Ρ€Π°Π·Π½Ρ‹Ρ… языков, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Object-C, Haskell, Python, C#, CLU ΠΈ ряда Π΄Ρ€ΡƒΠ³ΠΈΡ….

ΠŸΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΡ Π‘Π²ΠΈΡ„Ρ‚ ΡΠΎΡΡ‚ΠΎΡΠ»Π°ΡΡŒ Π² 2014 Π³ΠΎΠ΄Ρƒ. Π’ это ΠΆΠ΅ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ стала доступна ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ докумСнтация ΠΏΠΎ языку Π½Π° 500 страницах ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠ³ΠΎ тСкста. Π ΠΎΠ²Π½ΠΎ спустя ΠΎΠ΄ΠΈΠ½ Π³ΠΎΠ΄ Π²Ρ‹ΡˆΠ»Π° вторая вСрсия Swift. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΎΠ½Π° стала Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ. Π’ 2019 Π³ΠΎΠ΄Ρƒ Π²Ρ‹ΡˆΠ»Π° послСдняя Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ 5 вСрсия ЯП.

Π‘ ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π‘Π²ΠΈΡ„Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π½Π΅ Ρ‚Π°ΠΊ Π΄Π°Π²Π½ΠΎ, Π² Π½Π΅ΠΌ ΡƒΡ‡Ρ‚Π΅Π½Ρ‹ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ минусы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ свойствСнным Π±ΠΎΠ»Π΅Π΅ Π΄Ρ€Π΅Π²Π½ΠΈΠΌ языкам программирования. НапримСр, Swift Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для быстрого старта ΠΈ развития.

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ этого ЯП ΠΊΠΎΠΌΠ°Π½Π΄Π° прСслСдовала Ρ‚Π°ΠΊΠΈΠ΅ Ρ†Π΅Π»ΠΈ, ΠΊΠ°ΠΊ простота изучСния ΠΈ ускорСниС Ρ†ΠΈΠΊΠ»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, Π² Π‘Π²ΠΈΡ„Ρ‚ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Objective-C Π±ΠΎΠ»Π΅Π΅ простой ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΉ синтаксис, Ρ‡Ρ‚ΠΎ позволяСт ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя Π·Π° счСт написания мСньшСго количСства ΠΊΠΎΠ΄Π°.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ваТная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ – Swift ΠΈΠΌΠ΅Π΅Ρ‚ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π”Π°ΠΆΠ΅ нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ являСтся языком высокого уровня, Π½Π°Ρ†Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π½Π° быстроС освоСниС, ΠΎΠ½ достаточно быстр. Богласно мнСнию Π΅Π³ΠΎ создатСлСй, Swift ΠΏΠΎΡ‡Ρ‚ΠΈ Π² Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π° быстрСС Objective-C ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ Π² 8 Ρ€Π°Π· быстрСС, Ρ‡Π΅ΠΌ Python. БСйчас вСдутся Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΠ΅Ρ€Π΅Π΄ΠΈΡ‚ΡŒ ΠΏΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ скорости C++.

Помимо скорости, Π‘Π²ΠΈΡ„Ρ‚ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ Π²Π°ΠΆΠ½Ρ‹ΠΌ прСимущСством – Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ соврСмСнных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² для написания Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

Π―Π·Ρ‹ΠΊ Swift, ΠΊΠ°ΠΊ ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… ЯП ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ ΠΈ бСсплатСн. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ ΠΎΠ½ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² Ρ†Π΅Π»ΠΎΠΌ, Π² соврСмСнных рСалиях ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ЯП ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΈΠΌΠ΅Π½Π½ΠΎ для Apple это достаточно странно, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ эта компания Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… шагов. Однако Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π½ΠΎ. Π’ΠΎΠΊΡ€ΡƒΠ³ языка практичСски сразу ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π»ΠΎΡΡŒ большоС ΠΊΠΎΠΌΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, исправлСниС Π±Π°Π³ΠΎΠ² ΠΈ вносят ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‡Π΅Ρ€Ρ‚Π° Swift – Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ. Благодаря ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π°ΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π°ΠΏΠ³Ρ€Π΅ΠΉΠ΄Ρƒ синтаксиса, язык Π‘Π²ΠΈΡ„Ρ‚ стал Π³ΠΎΡ€Π°Π·Π΄ΠΎ бСзопаснСС obj-c. НапримСр, Ρ‡Π΅Ρ€Π΅Π· ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ свСли практичСски Π½Π° Π½Π΅Ρ‚ возмоТности нСсанкционированного доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ. Π’Π°ΠΊΠΆΠ΅, Π·Π° счСт Π±ΠΎΠ»Π΅Π΅ эффСктивной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сцСнариСв, снизилось количСство критичСских сцСнариСв.

Π’Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ – Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. Π£ Π‘Π²ΠΈΡ„Ρ‚ Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ пСсочница – Playground, которая позволяСт ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Иногда Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ позволяСт достаточно быстро Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² ΠΊΠΎΠ΄Π΅ ΠΈ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Π“Π΄Π΅ примСняСтся Swift? Как ΡƒΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, язык создан для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ iOS ΠΈ macOS. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½ Π½Π΅ являСтся ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ. Однако это Π½Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ сфСры примСнСния этого ЯП сильно ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ ΠΈ спрос Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½ΠΈΠ·ΠΊΠΈΠΉ.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Swift ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ любоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° мобильноС устройство Π½Π° Π±Π°Π·Π΅ iOS. КакоС-Ρ‚ΠΎ врСмя Π½Π°Π·Π°Π΄ Ρ…ΠΎΠ΄ΠΈΠ»ΠΈ слухи, Ρ‡Ρ‚ΠΎ Π½Π° Π‘Π²ΠΈΡ„Ρ‚ планируСтся пСрСнСсти ΠΈ Android. Однако ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ эта информация Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½Π°. Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅, Ρ‡Ρ‚ΠΎ Ρƒ Android Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π΅ΡΡ‚ΡŒ свои языки программирования ΠΈ вряд Π»ΠΈ Ρ‚Π°ΠΊΠΎΠΉ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ пСрСнос способствовал Π±Ρ‹ популяризации ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

КакиС ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π‘Π²ΠΈΡ„Ρ‚? Если ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ App.Store ΠΈ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ содСрТимоС, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ для Ρ„Π°Π½Ρ‚Π°Π·ΠΈΠΈ. Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ всС, ΠΎΡ‚ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Π½Π° Π±Π°Π·Π΅ iOS ΠΈ Π΄ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅ΠΉΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π•ΡΡ‚ΡŒ Π»ΠΈ Ρƒ этого языка программирования нСдостатки? Π”Π°, ΠΈ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½ΠΈΡ… являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ для взаимодСйствия с Objective-C ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ «мост», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‡Π΅Π½ΡŒ сильно Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚ процСсс сборки любого прилоТСния. Π’Π°ΠΊΠΆΠ΅, ΠΊ нСдостаткам этого языка ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ постоянно мСняСтся. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны это Ρ…ΠΎΡ€ΠΎΡˆΠΎ, с Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ссли Π±Ρ‹ Apple Π½Π΅ выстроили процСсс ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, старый ΠΊΠΎΠ΄ ΠΌΠΎΠ³ Π±Ρ‹ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *