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: 25Nế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.
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ố
messagevới tên tham sốtext(kiểuString) - Dùng nhãn đối số
tovới tên tham sốrecipient(kiểuString) - 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ểuInt) - 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
14Tự 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ả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
4Các toán tử, phần 1
Toán tử số họcToán tử moduloPhép gán kết hợpÔn tập: phép tính đơn giảnToán tử so sánh7Nhập xuất cơ bản
Hàm in raNội suy chuỗiĐầu vào từ dòngChuyển đổi kiểu dữ liệuÔn tập đến 120Ôn tập đúng hay sai3Giá trị tùy chọn
Giá trị tùy chọn là gìMở gói bằng if letGuard letToán tử gộp nilÔn tập: mở gói an toàn6Ra quyết định
Câu lệnh ifIf và elseÔn tập: máy tính đơn giảnCâu lệnh switchSwitch với khoảng giá trị9Vòng lặp
Vòng lặp for-inVòng lặp whileVòng lặp repeat-whileBreakContinueÔn tập: giai thừaDải giá trị trong vòng lặpVòng lặp lồng nhauÔn tập: đầu vào động12Kiến thức cơ bản về mảng
Khai báo mảngTruy cập phần tửChỉnh sửa mảngPhương thức của mảngÔn tập: Danh sách sản phẩmÔn tập: Mảng đảo ngượcTuple15Trình theo dõi chi tiêu hằng ngày
Tổng quan về dự ánThoát chương trìnhTự luyện tập: Playground Swift