Поиск…


замечания

Swift logo

Swift - это язык приложений и системного программирования, разработанный Apple и распространяемый как открытый . Swift взаимодействует с API-интерфейсами Objective-C и Cocoa / Cocoa для Apple MacOS, iOS, tvOS и watchOS. В настоящее время Swift поддерживает macOS и Linux. В настоящее время предпринимаются усилия для поддержки Android, Windows и других платформ.

Быстрое развитие происходит на GitHub ; взносы обычно отправляются по запросу .

Ошибки и другие проблемы отслеживаются на сайте bugs.swift.org .

Обсуждения о развитии, эволюции и использовании Swift хранятся в списках рассылки Swift .

Другие источники

Версии

Быстрая версия Версия Xcode Дата выхода
началось развитие ( первая фиксация ) - 2010-07-17
1,0 Xcode 6 2014-06-02
1,1 Xcode 6.1 2014-10-16
1.2 Xcode 6.3 2015-02-09
2,0 Xcode 7 2015-06-08
2,1 Xcode 7.1 2015-09-23
дебют с открытым исходным кодом - 2015-12-03
2,2 Xcode 7.3 2016-03-21
2,3 Xcode 8 2016-09-13
3.0 Xcode 8 2016-09-13
3,1 Xcode 8.3 2017-03-27

Ваша первая программа Swift

Напишите свой код в файле hello.swift :

print("Hello, world!")
  • Чтобы скомпилировать и запустить скрипт за один шаг, используйте swift из терминала (в каталоге, где находится этот файл):

Чтобы запустить терминал, нажмите CTRL + ALT + T на Linux или найдите его в Launchpad на macOS . Чтобы изменить каталог, введите cd directory_name (или cd .. для возврата)

$ swift hello.swift
Hello, world!

Компилятор представляет собой компьютерную программу (или набор программ), которая преобразует исходный код, написанный на языке программирования (исходный язык) на другой язык компьютера (целевой язык), причем последний часто имеет двоичную форму, известную как объектный. ( Википедия )

  • Чтобы скомпилировать и запустить отдельно, используйте swiftc :
$ swiftc hello.swift

Это скомпилирует ваш код в файл hello . Чтобы запустить его, введите ./ , а затем имя файла.

$ ./hello
Hello, world!
  • Или используйте быстрый REPL (Read-Eval-Print-Loop), набрав swift из командной строки, а затем введите свой код в интерпретаторе:

Код:

func greet(name: String, surname: String) {
    print("Greetings \(name) \(surname)")
}

let myName = "Homer"
let mySurname = "Simpson"

greet(name: myName, surname: mySurname)

Давайте разложим этот большой код на части:

  • func greet(name: String, surname: String) { // function body } - создать функцию, которая принимает name и surname .

  • print("Greetings \(name) \(surname)") - это выдает на консоль «Приветствия», затем name , затем surname . В основном \( variable_name ) выводит значение этой переменной.

  • let myName = "Homer" и let mySurname = "Simpson" - создайте константы (переменные, значения которых вы не можете изменить), используя let с именами: myName , mySurname и значения: "Homer" , "Simpson" соответственно.

  • greet(name: myName, surname: mySurname) - вызывает функцию, которую мы создали ранее, предоставляя значения констант myName , mySurname .

Запуск с использованием REPL:

$  swift
Welcome to Apple Swift. Type :help for assistance.
  1> func greet(name: String, surname: String) { 
  2.     print("Greetings \(name) \(surname)") 
  3. } 
  4>  
  5> let myName = "Homer"
myName: String = "Homer"
  6> let mySurname = "Simpson"
mySurname: String = "Simpson"
  7> greet(name: myName, surname: mySurname)
Greetings Homer Simpson
  8> ^D

Нажмите CTRL + D, чтобы выйти из REPL.

Установка Swift

Сначала загрузите компилятор и компоненты.

Затем добавьте Swift к вашему пути. В macOS расположение по умолчанию для загружаемой инструментальной цепочки - это / Library / Developer / Toolchains. Выполните следующую команду в терминале:

export PATH=/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin:"${PATH}"

В Linux вам нужно будет установить clang:

$ sudo apt-get install clang

Если вы установили Swift toolchain в каталог, отличный от системного root, вам нужно будет выполнить следующую команду, используя фактический путь вашей установки Swift:

$ export PATH=/path/to/Swift/usr/bin:"${PATH}"

Вы можете проверить, есть ли у вас текущая версия Swift, выполнив эту команду:

$ swift --version

Ваша первая программа в Swift на Mac (с использованием игровой площадки)

С вашего Mac загрузите и установите Xcode из Mac App Store по этой ссылке .

По завершении установки откройте Xcode и выберите « Начать с игровой площадки» :

введите описание изображения здесь

На следующей панели вы можете MyPlayground площадке имя или оставить ее на MyPlayground и нажать Next :

введите описание изображения здесь

Выберите место для сохранения игровой площадки и нажмите « Создать» :

введите описание изображения здесь

Игровая площадка откроется, и ваш экран должен выглядеть примерно так:

введите описание изображения здесь

Теперь, когда игровая площадка находится на экране, нажмите + cmd + Y, чтобы отобразить область отладки .

Наконец, удалите текст внутри игровой площадки и введите:

print("Hello world")

Вы должны увидеть «Hello world» в области Debug и «Hello world \ n» в правой боковой панели :

введите описание изображения здесь

Поздравляем! Вы создали свою первую программу в Swift!

Ваша первая программа в приложении Swift Playgrounds на iPad

Приложение Swift Playgrounds - отличный способ начать кодирование Swift на ходу. Чтобы использовать его:

1- Загрузите Swift Playgrounds для iPad из App Store.

введите описание изображения здесь

2- Откройте приложение.

3- На вкладке « Мои игровые площадки » нажмите « в верхнем левом углу, а затем выберите «Пустой шаблон».

4 Введите свой код.

5- Нажмите «Запустить мой код», чтобы запустить код.

6- В передней части каждой строки результат будет сохранен на небольшом квадрате. Нажмите его, чтобы показать результат.

7- Чтобы медленно пройти по коду, чтобы проследить его, нажмите кнопку рядом с «Запустить мой код».

Необязательное значение и необязательное перечисление

Тип опций, который обрабатывает отсутствие значения. Опционы говорят, что «есть значение, и оно равно x» или «вообще нет значения».

Необязательный - это тип сам по себе, на самом деле один из новых сверхмощных перечислений Swift. Он имеет два возможных значения: None и Some(T) , где T - связанное значение правильного типа данных, доступного в Swift.

Давайте посмотрим на этот фрагмент кода, например:

let x: String? = "Hello World"

if let y = x {
   print(y)
}

Фактически, если вы добавите print(x.dynamicType) в приведенный выше код, вы увидите это в консоли:

Optional<String>

Строка? на самом деле является синтаксическим сахаром для Необязательного, а Необязательный - это сам по себе.

Вот упрощенная версия заголовка Необязательно, которую вы можете увидеть, нажав команду на слово Необязательно в коде из Xcode:

enum Optional<Wrapped> {

 /// The absence of a value.
 case none

 /// The presence of a value, stored as `Wrapped`.
 case some(Wrapped)
}

Необязательно на самом деле перечисление, определенное в отношении общего типа Wrapped. У этого есть два случая: .none чтобы представить отсутствие значения, и .some чтобы представить наличие значения, которое сохраняется как его связанное значение типа Wrapped.

Позвольте мне пройти через это снова: String? не является String а Optional<String> . Тот факт, что Optional - это тип, означает, что он имеет свои собственные методы, например map и flatMap .



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow