Khi lập trình bằng ngôn ngữ Swift, việc sử dụng hàm để thực hiện các phép tính hoặc xử lý dữ liệu là rất phổ biến. Một hàm có thể nhận vào các tham số, thực hiện các thao tác bên trong và trả lại giá trị cho phần gọi hàm bằng từ khóa return
. Bài viết này sẽ giải thích cách sử dụng từ khóa này và cung cấp các ví dụ cụ thể để minh họa.
Khai báo hàm trong Swift
Trước khi đi sâu vào cách trả lại giá trị từ hàm, hãy tìm hiểu một chút về cú pháp khai báo hàm trong Swift. Một hàm cơ bản có thể được khai báo như sau:
func tenHam(thamSo: KieuDuLieu) -> KieuTraVe {
// Các câu lệnh bên trong hàm
return giaTri
}
Trong đoạn mã trên:
func
là từ khóa để khai báo hàm.tenHam
là tên của hàm.thamSo
là tham số đầu vào vàKieuDuLieu
là kiểu dữ liệu của tham số đó.KieuTraVe
là kiểu dữ liệu mà hàm sẽ trả lại.
Sử dụng từ khóa return
Từ khóa return
được sử dụng bên trong thân hàm để chỉ rõ giá trị nào sẽ được trả lại cho phần gọi hàm. Nếú hàm không có return
, kiểu trả về phải là Void
hoặc đơn giản là không cần khai báo kiểu trả về.
Ví dụ đơn giản
Dưới đây là ví dụ về một hàm cộng hai số nguyên và trả lại kết quả:
func congHaiSo(a: Int, b: Int) -> Int {
let ketQua = a + b
return ketQua
}
Trong ví dụ này, hàm congHaiSo
nhận vào hai tham số a
và b
thuộc kiểu Int
, thực hiện phép cộng hai số và trả lại kết quả của phép cộng đó.
Trả lại giá trị tùy chọn
Trong một số tình huống, bạn có thể muốn trả lại một giá trị tùy chọn (optional value). Khi đó, bạn sẽ sử dụng kiểu trả về với dấu ?
. Ví dụ:
func timGiaTriLonNhat(trongMang mang: [Int]) -> Int? {
if mang.isEmpty {
return nil
}
var max = mang[0]
for so in mang {
if so > max {
max = so
}
}
return max
}
Đoạn mã trên định nghĩa một hàm timGiaTriLonNhat
để tìm giá trị lớn nhất trong một mảng số nguyên. Nếu mảng trống, hàm sẽ trả lại nil
. Ngược lại, hàm sẽ trả lại giá trị lớn nhất tìm được.
Hàm không trả về giá trị
Có những hàm thực hiện một tác vụ nào đó nhưng không cần trả về giá trị. Trong trường hợp này, bạn không cần định rõ kiểu trả về hoặc có thể sử dụng kiểu Void
.
func inLoiChao() {
print("Xin chào!")
}
Hoặc
func inLoiChao() -> Void {
print("Xin chào!")
}
Các lưu ý khi sử dụng return
- Lệnh
return
kết thúc hàm: Khi từ khóareturn
được gọi, các câu lệnh phía sau nó sẽ không được thực hiện. - Hàm có kiểu trả về: Nếu hàm có định nghĩa kiểu trả về, bạn phải chắc chắn rằng tất cả các nhánh lệnh trong hàm đều trả về giá trị kiểu đó. Nếu không, trình biên dịch sẽ báo lỗi.
- Kiểu trả về luôn tương thích: Giá trị mà bạn trả về phải có kiểu dữ liệu phù hợp với kiểu trả về bạn đã khai báo cho hàm.
Kết luận
Việc sử dụng từ khóa return
trong Swift rất quan trọng khi bạn cần hàm trả lại giá trị cho phần gọi hàm. Bằng cách hiểu rõ cách sử dụng return
và các quy tắc liên quan, bạn có thể viết các hàm một cách hiệu quả và tránh những lỗi không cần thiết.
Comments