Menu
CoddyTech

Giá trị mặc định

Thuộc phần Kiến thức nền tảng trong hành trình Swift của Coddy. Bài học 57 trên 86.

Đôi khi, một tham số có giá trị được dùng trong hầu hết mọi trường hợp. Thay vì yêu cầu bên gọi cung cấp giá trị đó mỗi lần, bạn có thể gán một giá trị mặc định cho tham số đó.

Để đặt giá trị mặc định, hãy dùng toán tử gán (=) sau kiểu dữ liệu của tham số:

func greet(name: String, greeting: String = "Hello") {
    print("\(greeting), \(name)!")
}
greet(name: "Alice")                    // Đầu ra: Hello, Alice!
greet(name: "Bob", greeting: "Hi")      // Đầu ra: Hi, Bob!

Khi gọi hàm, bạn có thể bỏ qua các tham số có giá trị mặc định. Swift sẽ tự động dùng giá trị mặc định. Nhưng nếu cần một giá trị khác, bạn vẫn có thể chỉ định rõ giá trị đó.

Các tham số có giá trị mặc định nên được đặt ở cuối danh sách tham số. Cách này giúp lời gọi hàm gọn gàng và dễ đọc:

func calculatePrice(base: Double, taxRate: Double = 0.1) -> Double {
    return base + (base * taxRate)
}
print(calculatePrice(base: 100))              // Đầu ra: 110.0
print(calculatePrice(base: 100, taxRate: 0.2)) // Đầu ra: 120.0

Giá trị mặc định giúp hàm (function) linh hoạt hơn. Chúng hoạt động đơn giản trong các trường hợp phổ biến, đồng thời vẫn cho phép tùy chỉnh khi cần.

challenge icon

Thử thách

Dễ

Viết một hàm formatGreeting nhận name, greeting và repeatCount, rồi trả về lời chào đã định dạng.

Hàm sử dụng giá trị mặc định cho các tham số tùy chọn:

  • greeting mặc định là "Hello"
  • repeatCount mặc định là 1

Tạo một chuỗi lặp lại mẫu lời chào theo số lần đã chỉ định, phân tách bằng dấu cách.

Tham số:

  • name (String): Tên người đó (bắt buộc)
  • greeting (String): Từ dùng để chào (mặc định: "Hello")
  • repeatCount (Int): Số lần lặp lại lời chào (mặc định: 1)

Giá trị trả về: Một chuỗi có mẫu lời chào được lặp lại. Định dạng: "[greeting], [name]!" được lặp lại repeatCount lần, phân tách bằng một dấu cách (String)

Ví dụ, nếu name là "Alice", greeting là "Hi" và repeatCount là 2, hàm trả về "Hi, Alice! Hi, Alice!".

Nếu chỉ gọi hàm với name là "Bob" (dùng các giá trị mặc định), hàm trả về "Hello, Bob!".

Tự làm thử

func formatGreeting(name: String, greeting: String, repeatCount: Int) -> String {
    // Viết code ở đây
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Playground Swift