×

Trả về giá trị từ hàm với từ khóa return trong Swift

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ố ab 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

  1. Lệnh return kết thúc hàm: Khi từ khóa return được gọi, các câu lệnh phía sau nó sẽ không được thực hiện.
  2. 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.
  3. 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