Variable
Khái niệm liên quan đến biến
State Variables
Các variable được khai báo trong Contract (không tính trong Function) được gọi là State Variable và được lưu trữ vĩnh viễn trong Contract Storage.
pragma solidity >=0.4.0 <0.6.0;
contract SimpleStorage {
uint storedData; // State variable
}Initial Value (Zero Value)
Trong Solidity không có khái niệm NULL, tất cả các biến khi được khai báo đều có Initial Value (Zero Value). Initial Value của từng Data Types như sau:
Đối với Values Types:
boolean: false
string: " "
int: 0
uint: 0
fixed: 0.0
enum: phần tử đầu của enum
address: 0x0
Đối với Reference Types:
mapping: empty map
struct: trả về 1 struct mà tất cả field của nó đều có Initial Value
dynamically-sized: mảng rỗng
fixed-sized: một mảng với các phần tử mà mỗi phần tử đều sở hữu Initial Value
Data Location
Có 2 chỗ lưu variable: trong storage hoặc trong memory.
Một variable lưu trong memory chỉ là tạm thời, sau khi function thực thi hoàn tất thì nó sẽ mất đi. Còn một variable được lưu trong storage sẽ được lưu vĩnh viễn
Kiểu dữ liệu string, array, struct, mapping bắt buộc phải chỉ dịnh Data Location
Để chỉ định một variable được lưu như thế nào, ta dùng keyword storage và memory
Lưu ý: một State Variable mặc định được lưu trong storage nên chỉ định storage và memory được thực hiện trong function.
Ví dụ: fullName chỉ được tạo ra và lưu tạm thời trong memory, sau khi được return thì sẽ bị xoá ngay.
Last updated
Was this helpful?