Chạy Swift online

Viết, chạy và gỡ lỗi code Swift trực tuyến trong môi trường Swift dòng lệnh. Quản lý nhiều tệp, lưu workspace và chia sẻ code mà không cần cài Xcode.

Thư viện cài đặt sẵn
🚀 19,043 tổng số lượt thực thi (611 trong tháng này)
Nhúng
Kết quả

Luyện Swift với thử thách lập trình

Giải các bài tập thực tế ngay trên trình soạn thảo này: chạy kiểm thử mẫu, nộp bài và nhận đánh giá code từ AI.

Tất cả thử thách Swift
Dễ

Rectangle Perimeter

Compute the perimeter of a rectangle from its sides.

Bạn sẽ học Số họcGiá trị trả về
BeginnerLearning-pathVariables
Dễ

Distance Between Points

Compute the straight-line distance between two points.

Bạn sẽ học Định lý PythagoreCăn bậc hai
BeginnerFunctionsLearning-pathmath
Dễ

Days in a Month

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

Bạn sẽ học Quy tắc lịchHàm phụ trợ
BeginnerConditionsFunctionsLearning-path
Dễ

Trung Bình Của Ba Số

Tính trung bình cộng của ba số nguyên.

Bạn sẽ học Số họcPhép chia
BeginnerLearning-pathVariables
Dễ

Tích vô hướng của hai vector

Nhân hai vector theo từng phần tử rồi cộng kết quả lại, phép tính cốt lõi của mọi nơ-ron.

Bạn sẽ học VectorTích vô hướng
Mạng nơ-rontrí tuệ nhân tạohọc máy
Dễ

Kiểm Tra Số Nguyên Tố

Xác định xem một số có phải là số nguyên tố hay không.

Bạn sẽ học Tính chia hếtTối ưu vòng lặp
BeginnerLoopsNumbersStudent-beginner
Dễ

Tam giác số

Xây dựng một tam giác các số tăng dần.

Bạn sẽ học Hàng tăng dầnBiến đếm qua các hàng
BeginnerLearning-pathNested-loopsPatterns
Dễ

Số Armstrong

Kiểm tra một số có bằng tổng các chữ số của nó lũy thừa lên số lượng chữ số hay không.

Bạn sẽ học Tách chữ sốLũy thừa
BeginnerNumbersStudent-beginner
Dễ

Row Sums

Add up every row of a grid.

Bạn sẽ học Danh sách 2 chiềuVòng lặp lồng nhau
BeginnerGridsLearning-path
Dễ

Min and Max Together

Find the smallest and largest value in one pass.

Bạn sẽ học Một lần duyệtTrả về nhiều giá trị
ArraysBeginnerFunctionsLearning-path
Dễ

Count Pairs With a Sum

Count pairs of positions whose values add up to a target.

Bạn sẽ học Cặp chỉ sốTránh đếm trùng
ArraysBeginnerLearning-pathNested-loops
Dễ

Hollow Square

Draw the outline of a square with * characters.

Bạn sẽ học Nhận biết viềnTạo chuỗi
BeginnerLearning-pathNested-loopsPatterns

🍎 Giới thiệu về Trình thực thi Swift trực tuyến này

Trình thực thi Swift CodeUtility cho phép bạn viết và chạy mã Swift trực tiếp trên trình duyệt - không cần Xcode, SDK hay cài đặt macOS. Công cụ chạy các trình biên dịch Swift thực trong các sandbox cách ly để mang lại hành vi Swift gốc, chính xác.

Công cụ này hỗ trợ nhiều phiên bản Swift - 5.7, 5.9 và mới nhất - giúp bạn linh hoạt khám phá tính năng ngôn ngữ mới và duy trì tương thích với mã Swift cũ.

Rất phù hợp cho các lập trình viên học cú pháp Swift, kiểm thử thuật toán, hoặc thử nghiệm mã cho iOS, macOS và Swift phía máy chủ mà không cần cài công cụ hay trình giả lập cục bộ.

Mỗi đoạn mã chạy an toàn trong môi trường Swift dạng container, đảm bảo phản hồi thực từ trình biên dịch và thực thi mã an toàn.

Không chỉ là công cụ chạy mã

Sử dụng trình soạn thảo nhiều tệp, terminal thực thi biệt lập, thư viện riêng theo môi trường chạy, không gian làm việc lâu dài, tính năng chia sẻ và cộng tác theo thời gian thực ngay trong cùng một trình thực thi.

Cách sử dụng trình thực thi này?

Chọn môi trường chạy, mở hoặc tạo tệp, viết mã rồi nhấn Chạy. Kết quả xuất hiện trong terminal; người dùng đã đăng nhập có thể lưu tệp trong không gian làm việc, cài thư viện và cộng tác qua liên kết chia sẻ.

  1. Chọn phiên bản rồi chỉnh sửa tệp hiện tại hoặc mở một tệp khác trong không gian làm việc.
  2. Chạy mã, nhập dữ liệu trong terminal khi được yêu cầu và xem lại lịch sử chạy đã lưu.
  3. Sử dụng thư viện, công cụ không gian làm việc, chia sẻ và trò chuyện khi tác vụ cần nhiều hơn một đoạn mã.

💡 Hướng dẫn Swift cơ bản cho người mới bắt đầu

1. Khai báo biến và hằng số

Dùng var cho biến và let cho hằng số trong Swift.

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

// Hằng số không thể gán lại
// pi = 3.14 // ❌ Lỗi

2. Cấu trúc điều kiện (if / switch)

Dùng if, else if, else cho logic, và switch cho nhiều nhánh.

let number = 2
if number == 1 {
    print("Một")
} else if number == 2 {
    print("Hai")
} else {
    print("Khác")
}

switch number {
case 1:
    print("Một")
case 2:
    print("Hai")
default:
    print("Khác")
}

3. Vòng lặp

Swift hỗ trợ các vòng lặp for-in, while và repeat-while.

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

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

4. Mảng

Mảng lưu các tập hợp giá trị có thứ tự.

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

5. Thao tác với mảng

Dùng các phương thức mảng như append và removeLast.

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

for n in nums {
    print(n)
}

6. Nhập/Xuất console

Dùng print() để xuất ra. Nhập liệu cần cấu hình thêm trong Swift Playgrounds hoặc Xcode.

let name = "Alice"
print("Xin chào, \(name)")

7. Hàm

Định nghĩa các hàm có thể tái sử dụng với tham số và giá trị trả về.

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

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

8. Từ điển

Từ điển lưu các cặp khóa-giá trị.

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

9. Xử lý lỗi

Swift sử dụng do-catch để xử lý lỗi.

enum MyError: Error {
    case runtimeError(String)
}

do {
    throw MyError.runtimeError("Đã có lỗi xảy ra")
} catch let error {
    print(error)
}

10. I/O tệp

Swift dùng FileManager hoặc các phương thức của String cho I/O tệp.

let text = "Xin chào, Tệp"
try text.write(toFile: "file.txt", atomically: true, encoding: .utf8)
let content = try String(contentsOfFile: "file.txt")
print(content)

11. Thao tác với chuỗi

Dùng các phương thức như count, contains, uppercased(), v.v.

let text = "Xin chào Thế giới"
print(text.count)
print(text.contains("Thế giới"))
print(text.uppercased())

12. Lớp & Đối tượng

Swift hỗ trợ OOP với class và init.

class Person {
    var name: String
    init(name: String) {
        self.name = name
    }
    func greet() {
        print("Xin chào, tôi là \(name)")
    }
}

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

13. Optional

Swift dùng ? và ! để xử lý giá trị tùy chọn (optional).

var name: String? = "Alice"
print(name ?? "Không rõ")

if let unwrappedName = name {
    print(unwrappedName)
}