Hàm

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Speaker Notes

This slide should take about 3 minutes.
  • Những tham số phải được chú thích sau bằng một kiểu dữ liệu (ngược lại với một số ngôn ngữ lập trình khác), rồi một giá trị trả về.
  • Biểu thức cuối cùng trong hàm (hay một khối) sẽ trở thành giá trị tả về. Đơn giản bằng cách bỏ qua dấu ; ở cuối biểu thức. Từ khóa return có thể sử dụng để trả về sớm, nhưng “giá trị trần (bare value)” là triết lí ngôn ngữ (idiomatic) khi đặt ở cuối hàm (tái cấu trúc gcd dể sử dụng return).
  • Một số hàm sẽ không có giá trị trở về, sẽ trả về ‘kiểu dữ liệu’, (). Trình biên dịch sẽ kết luận rằng kiểu dữ liệu sẽ là -> () nếu kiểu dữ liệu trả về được bỏ qua.
  • Overloading (nạp chồng) không được hỗ trợ – mỗi hàm chỉ có duy nhất một triển khai.
    • Luôn luôn lấy một số những tham số nhất định. Đối số mặc định không đưọc hỗ trợ. Macros có thể sử dụng cho hỗ trợ hàm đa tham số.
    • Luôn luôn chỉ lấy một nhóm kiểu tham số dữ liệu. Những kiểu dữ liệu này có thể là generic (tổng quát), và sẽ được đề cập tới ở phần sau.