Định nghĩa function
Một hàm bao gồm các phần sau: từ khóa func
, tên hàm, danh sách tham số, danh sách trả về và thân hàm.
Một hàm có thể không có tham số và có thể không trả về giá trị.
Kiểu của một hàm được gọi là chữ ký hàm (function signature). Khi danh sách tham số và danh sách trả về của hai hàm giống nhau thì kiểu hay chữ kí của hai hàm cũng giống nhau.
Tham số (parameter)
Nhiều tham số liền kề có kiểu giống nhau có thể rút gọn lại, hàm add
và sub
phía trên có thể được viết như sau:
Các tham số không xác định, sử dụng cú pháp …type
(giống Javascript). Lưu ý rằng tham số không xác định phải là tham số cuối cùng của hàm.
Bạn cũng có thể sử dụng slice làm tham số, bạn cần sử dụng …
để mở rộng slice:
Trên thực tế, sử dụng slice làm tham số chính thức cũng có thể đạt được hiệu quả tương tự, nhưng điểm khác biệt là khi truyền tham số, phải xây dựng một slice và sử dụng không cần …
sẽ thuận tiện.
Giá trị trả về (Return Value)
Các hàm có thể trả về một giá trị hoặc nhiều giá trị.
Nếu có một giá trị trả về không mong muốn, hãy sử dụng _
để bỏ qua nó:
Hỗ trợ cho các giá trị trả lại được đặt tên. Nếu bạn sử dụng giá trị trả về có tên, bạn có thể return
mà không cần tên giá trị trả về.
Ví dụ trước với các tham số không xác định được viết theo cách này:
Hãy so sánh lại, nếu bạn không sử dụng các giá trị trả về được đặt tên, bạn nên viết như thế nào:
Hàm ẩn danh (Anonymous function)
Hàm ẩn danh đề cập đến một phương thức thực hiện hàm không cần xác định tên hàm. Nó có thể được gán trực tiếp cho một biến hàm, có thể được sử dụng như một tham số thực tế, cũng có thể được sử dụng như một giá trị trả về và cũng có thể được gọi trực tiếp.
Sử dụng làm tham số
Sử dụng dưới dạng giá trị trả về:
Gọi hàm trực tiếp: