Function Declarations
Khai báo hàm ngôn ngữ lập trình Solidity. Thuộc khoá học online miễn phí Tự học lập trình web3 - Tự học ngôn ngữ lập trình Solidity.
Summary for English Visiter
function eatHamburgers(string memory _name, uint _amount) public { }
//CALL
eatHamburgers("vitalik", 100);
Thank you!
function eatHamburgers(string memory _name, uint _amount) public {
}
Giải thích:Đây là một hàm có tên là eatHamburgers, đầu vào có 2 tham số dạng string và uint.
Phần thân của hàm đang trống và hàm đang được định nghĩa với trạng thái là public.
Biến _name sẽ được khai báo là lưu trữ trong bộ nhớ vì điều này là bắt buộc đối với tất cả các kiểu tham chiếu: như mảng, cấu trúc, ánh xạ và chuỗi.
2. Kiểu tham chiếu là gì?
Có hai cách để bạn có thể truyền một đối số cho một hàm trong Solidity:
- Theo giá trị, có nghĩa là trình biên dịch Solidity tạo một bản sao mới của giá trị của tham số và chuyển nó đến hàm của bạn. Điều này cho phép hàm của bạn sửa đổi giá trị mà không phải lo lắng rằng giá trị của tham số ban đầu bị thay đổi.
- Theo tham chiếu, có nghĩa là hàm của bạn được gọi với biến số được tham chiếu đến biến ban đầu. Do đó, nếu hàm của bạn thay đổi giá trị của biến mà nó nhận được, thì giá trị của biến ban đầu sẽ bị thay đổi.
Lưu ý: Quy ước (không bắt buộc) khi đặt tên biến tham số thì thêm ở đầu biến dấu gạch dưới (_) để phân biệt chúng với biến toàn cục. Chúng ta sẽ sử dụng quy ước đó trong suốt khoá học này.
Gọi hàm thì chỉ đơn này như này:
eatHamburgers("vitalik", 100);
Thực hành luôn cho nhớ lâu bạn nhé
Thực hành tạo các function khác nhau vào file hocweb3.sol
Các hàm chưa cần có nội dung, cứ viết nhiều cho quen tay. khai báo public và private... hơi ngược so với các ngôn nhữ khác.
Nếu bạn chưa biết cách TẠO FILE, COMPILER và DEPLOY thì hãy xem lại trong bài giới thiệu nhé. Có hướng dẫn chi tiết ở đó.