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 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?