Menu
CoddyTech

Nhãn đối số

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 54 trên 86.

Swift cho phép bạn kiểm soát cách đọc lời gọi hàm bằng cách sử dụng nhãn đối số. Nhãn đối số là từ bạn dùng khi gọi hàm, còn tên tham số là từ bạn dùng bên trong thân hàm.

Bạn có thể chỉ định cả hai bằng cách viết nhãn đối số trước tên tham số:

func greet(to name: String) {
    print("Hello, \(name)!")
}

greet(to: "Alice")  // Đầu ra: Hello, Alice!

Ở đây, to là nhãn đối số (dùng khi gọi hàm), còn name là tên tham số (dùng bên trong hàm). Cách này giúp lời gọi hàm nghe tự nhiên hơn: “greet to Alice”.

Đôi khi, bạn muốn bỏ hẳn nhãn để lời gọi hàm gọn hơn. Dùng dấu gạch dưới (_) làm nhãn đối số:

func square(_ number: Int) -> Int {
    return number * number
}

print(square(5))  // Đầu ra: 25

Nếu không có dấu gạch dưới, bạn sẽ phải viết square(number: 5). Dấu gạch dưới loại bỏ yêu cầu đó, giúp lời gọi đơn giản hơn khi tên hàm đã thể hiện rõ mục đích.

challenge icon

Thử thách

Dễ

Tạo hai hàm để minh họa các kỹ thuật dùng nhãn đối số khác nhau:

Hàm 1: send

  • Dùng nhãn đối số message với tên tham số text (kiểu String)
  • Dùng nhãn đối số to với tên tham số recipient (kiểu String)
  • Trả về một chuỗi theo định dạng: "Sending '[text]' to [recipient]"

Hàm 2: double

  • Dùng dấu gạch dưới _ để bỏ nhãn đối số
  • Tên tham số number (kiểu Int)
  • Trả về số được nhân với 2

Sau khi định nghĩa cả hai hàm, hãy đọc hai chuỗi và một số nguyên từ đầu vào, sau đó gọi cả hai hàm và in kết quả trên các dòng riêng biệt.

Bạn sẽ nhận các đầu vào sau:

  • Dòng đầu tiên: nội dung thông điệp (ví dụ: "Hello")
  • Dòng thứ hai: tên người nhận (ví dụ: "Alice")
  • Dòng thứ ba: một số cần nhân đôi (ví dụ: "7")

Ví dụ, nếu các đầu vào là "Hello", "Alice" và "7", đầu ra sẽ là:

Sending 'Hello' to Alice
14

Tự làm thử

// Đọc đầu vào
let messageText = readLine()!
let recipientName = readLine()!
let numberToDouble = Int(readLine()!)!

// TODO: Viết code bên dưới
// Định nghĩa hàm (function) 'send' với nhãn đối số 'message' và 'to'


// Định nghĩa hàm 'double' với nhãn đối số được bỏ qua bằng '_'


// Gọi cả hai hàm và in ra kết quả
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