Swift онлайн: запуск кода без Xcode

Write, run, and debug Swift code online using a command-line Swift environment. Manage multiple files, save your workspace, and share code without installing Xcode.

Предустановленные библиотеки
🚀 19,043 всего выполнений (611 в этом месяце)
Встроить
Вывод

Практикуйте Swift на задачах

Решайте задачи прямо в редакторе: запускайте тесты, отправляйте решение и получайте AI-рецензию.

Все задачи на Swift
Легко

Rectangle Perimeter

Compute the perimeter of a rectangle from its sides.

Вы освоите АрифметикаВозвращаемые значения
BeginnerLearning-pathVariables
Легко

Distance Between Points

Compute the straight-line distance between two points.

Вы освоите Теорема ПифагораКвадратные корни
BeginnerFunctionsLearning-pathmath
Легко

Days in a Month

Return how many days a month has, including leap years.

Вы освоите Правила календаряВспомогательные функции
BeginnerConditionsFunctionsLearning-path
Легко

Среднее из трёх

Вычислите среднее трёх целых чисел.

Вы освоите АрифметикаДеление
BeginnerLearning-pathVariables
Легко

Скалярное произведение двух векторов

Перемножьте два вектора поэлементно и сложите результаты — это основная операция любого нейрона.

Вы освоите ВекторыСкалярное произведение
Нейронные сетиискусственный интеллектмашинное обучение
Легко

Largest of Three

Pick the largest of three numbers without a built-in max.

Вы освоите СравненияСочетание условий
BeginnerConditionsLearning-path
Легко

Проверка на простое число

Определите, является ли число простым.

Вы освоите ДелимостьОптимизация циклов
BeginnerLoopsNumbersStudent-beginner
Легко

Number Triangle

Build a triangle of increasing numbers.

Вы освоите Растущие строкиСчётчик между строками
BeginnerLearning-pathNested-loopsPatterns
Легко

Число Армстронга

Проверьте, равно ли число сумме его цифр, возведённых в степень, равную количеству цифр.

Вы освоите Выделение цифрСтепени
BeginnerNumbersStudent-beginner
Легко

Row Sums

Add up every row of a grid.

Вы освоите Двумерные спискиВложенные циклы
BeginnerGridsLearning-path
Легко

Min and Max Together

Find the smallest and largest value in one pass.

Вы освоите Один проходНесколько возвращаемых значений
ArraysBeginnerFunctionsLearning-path
Легко

Подсчёт пар с заданной суммой

Посчитайте количество пар позиций, значения которых в сумме дают целевое число.

Вы освоите Пары индексовБез двойного счёта
ArraysBeginnerLearning-pathNested-loops

🍎 Об этом онлайн-исполнителе Swift

CodeUtility Swift Executor позволяет писать и запускать Swift‑код прямо в браузере - без Xcode, SDK или настройки macOS. Он использует реальные компиляторы Swift в изолированных песочницах, обеспечивая точное, нативное поведение Swift.

Инструмент поддерживает несколько версий Swift - 5.7, 5.9 и последнюю - это даёт вам гибкость изучать новые возможности языка и сохранять совместимость со старыми кодовыми базами Swift.

Идеально подходит для разработчиков, изучающих синтаксис Swift, тестирующих алгоритмы или экспериментирующих с кодом для iOS, macOS и серверного Swift без необходимости устанавливать локальные инструменты или симуляторы.

Каждый фрагмент выполняется безопасно в контейнеризированной среде Swift, обеспечивая реальные сообщения компилятора и безопасное выполнение кода.

Больше, чем просто запуск кода

В одном редакторе есть всё для работы: несколько файлов, изолированный терминал, библиотеки для выбранной версии, сохранение проектов, общий доступ по ссылке и совместная работа в реальном времени.

Как пользоваться редактором

Выберите версию языка, откройте или создайте файл, напишите код и нажмите «Запустить». Результат появится в терминале. После входа в аккаунт можно хранить файлы в рабочем пространстве, устанавливать библиотеки и работать над кодом вместе с другими.

  1. Выберите версию и отредактируйте текущий файл или откройте другой файл рабочего пространства.
  2. Запустите код, при необходимости введите данные в терминале и просмотрите сохранённую историю запусков.
  3. Используйте библиотеки, инструменты рабочего пространства, общий доступ и чат, когда для задачи требуется несколько фрагментов кода.

💡 Руководство по основам Swift для начинающих

1. Объявление переменных и констант

В Swift используйте var для переменных и let для констант.

var age = 30
let pi = 3.14159
var name = "Alice"
let isActive = true

// Константам нельзя присваивать новое значение
// pi = 3.14 // ❌ Ошибка

2. Условия (if / switch)

Используйте if, else if, else для логики, а switch - для нескольких ветвей.

let number = 2
if number == 1 {
    print("Один")
} else if number == 2 {
    print("Два")
} else {
    print("Другое")
}

switch number {
case 1:
    print("Один")
case 2:
    print("Два")
default:
    print("Другое")
}

3. Циклы

В Swift есть циклы for-in, while и repeat-while.

for i in 0..<3 {
    print(i)
}

var n = 3
while n > 0 {
    print(n)
    n -= 1
}

4. Массивы

Массивы хранят упорядоченные коллекции значений.

var numbers = [10, 20, 30]
print(numbers[1])

5. Работа с массивами

Используйте методы массивов, такие как append и removeLast.

var nums = [1, 2, 3]
nums.append(4)
nums.removeLast()

for n in nums {
    print(n)
}

6. Ввод/вывод в консоль

Для вывода используйте print(). Ввод требует дополнительной работы в Swift Playgrounds или Xcode.

let name = "Alice"
print("Привет, \(name)")

7. Функции

Определяйте переиспользуемые функции с параметрами и возвращаемыми значениями.

func add(a: Int, b: Int) -> Int {
    return a + b
}

print(add(a: 3, b: 4))

8. Словари

Словари хранят пары ключ‑значение.

var ages = ["Alice": 30]
print(ages["Alice"] ?? 0)

9. Обработка ошибок

В Swift для обработки ошибок используется do-catch.

enum MyError: Error {
    case runtimeError(String)
}

do {
    throw MyError.runtimeError("Что-то пошло не так")
} catch let error {
    print(error)
}

10. Файловый ввод/вывод

В Swift для файлового ввода/вывода используются FileManager или методы String.

let text = "Привет, файл"
try text.write(toFile: "file.txt", atomically: true, encoding: .utf8)
let content = try String(contentsOfFile: "file.txt")
print(content)

11. Работа со строками

Используйте методы вроде count, contains, uppercased() и др.

let text = "Hello World"
print(text.count)
print(text.contains("World"))
print(text.uppercased())

12. Классы и объекты

Swift поддерживает ООП с помощью class и init.

class Person {
    var name: String
    init(name: String) {
        self.name = name
    }
    func greet() {
        print("Привет, я \(name)")
    }
}

let p = Person(name: "Alice")
p.greet()

13. Опционалы

В Swift для работы с опциональными значениями используются ? и !.

var name: String? = "Alice"
print(name ?? "Неизвестно")

if let unwrappedName = name {
    print(unwrappedName)
}