Định nghĩa hàm

Khái niệm

Định nghĩa hàm là bước khai báo một khối lệnh có tên để có thể gọi lại nhiều lần. Một hàm thường có tên, danh sách tham số và phần thân thực hiện công việc.

Ví dụ tính bình phương

def square(number):
    return number * number


print(square(4))
program FunctionDefinition;

function Square(number: Integer): Integer;
begin
  Square := number * number;
end;

begin
  Writeln(Square(4));
end.
#include <stdio.h>

int square(int number) {
    return number * number;
}

int main(void) {
    printf("%d\n", square(4));
    return 0;
}
#include <iostream>
using namespace std;

int square(int number) {
    return number * number;
}

int main() {
    cout << square(4) << endl;
    return 0;
}
static int Square(int number) {
    return number * number;
}

Console.WriteLine(Square(4));
function square(number) {
    return number * number;
}

console.log(square(4));
function square(number: number): number {
    return number * number;
}

console.log(square(4));
package main

import "fmt"

func square(number int) int {
    return number * number
}

func main() {
    fmt.Println(square(4))
}
fn square(number: i32) -> i32 {
    number * number
}

fn main() {
    println!("{}", square(4));
}

Thành phần cần nhớ

  • Tên hàm nên phản ánh hành động hoặc kết quả mà hàm tạo ra.
  • Kiểu dữ liệu của đầu vào và đầu ra cần nhất quán với nhiệm vụ của hàm.
  • Thân hàm nên ngắn gọn và tập trung vào một trách nhiệm chính.

Ghi chú theo ngôn ngữ

Thông tin</div>

Python dùng từ khóa def để mở đầu định nghĩa hàm. Kiểu dữ liệu không bắt buộc phải khai báo ở mức cơ bản.

Pascal khai báo kiểu trả về ngay sau danh sách tham số. Giá trị trả về được gán vào tên hàm trong thân hàm.

C cần chỉ rõ kiểu trả về trước tên hàm. Các hàm thường được đặt phía trên main hoặc có khai báo nguyên mẫu trước khi gọi.

C++ kế thừa cú pháp hàm của C và bổ sung nhiều tính năng như nạp chồng hàm, tham số mặc định và auto suy luận kiểu trả về.

C# mỗi hàm phải thuộc về một lớp hoặc struct. Từ khóa static cho phép gọi hàm mà không cần khởi tạo đối tượng.

JavaScript có nhiều cú pháp khai báo hàm: function khai báo, arrow function và biểu thức hàm. Các dạng có hành vi hơi khác nhau về this và hoisting.

TypeScript yêu cầu khai báo kiểu cho tham số và kiểu trả về. Điều này giúp IDE hỗ trợ kiểm tra kiểu tịnh ngay trong quá trình viết mã.

Go dùng từ khóa func. Kiểu tham số đặt sau tên tham số, kiểu trả về đặt sau dấu đóng ngoặc. Go hỗ trợ trả nhiều giá trị cùng lúc.

Rust dùng fn. Kiểu tham số bắt buộc, kiểu trả về khai báo với ->. Biểu thức cuối cùng không có dấu chấm phẩy tự động là giá trị trả về.

Kết luận

Khi đã biết cách định nghĩa một hàm, bước kế tiếp là hiểu cách truyền dữ liệu vào hàm thông qua tham số và đối số.

Bình luận