Facebook Pixel

Tìm hiểu kiểu dữ liệu Boolean trong Solidity

03 Sep, 2022

Trong bài viết này, mình sẽ cùng nhau đi tìm hiểu kiểu dữ liệu Boolean trong Solidity thông qua các demo cơ bản nhé!

Tìm hiểu kiểu dữ liệu Boolean trong Solidity

Mục Lục

Tiếp nối với bài viết trước tìm hiểu về kiểu dữ liệu Integer trong ngôn ngữ Solidity thì ở bài viết này mình sẽ cùng nhau khám phá thêm kiểu dữ liệu Boolean trong Solidity. Nếu bạn chưa xem bài viết trên thì bạn có thể đọc ở bài viết bên dưới nhé!

Tìm hiểu kiểu dữ liệu (Unsigned) Integer trong Solidity
Trong bài viết này, mình sẽ cùng nhau đi tìm hiểu kiểu dữ liệu (Unsigned) Integer trong Solidity thông qua các demo cơ bản nhé!

1. Định nghĩa:

- Tương tự như bao ngôn ngữ khác, kiểu dữ liệu Boolean trong ngôn ngữ Solidity cũng chỉ tồn tại hai giá trị duy nhất đó chính là: true hoặc false.

- Cách khai báo 1 biến với kiểu dữ liệu Boolean khá là đơn giản:

Solidity
bool myVal;

(Lưu ý: Nếu bạn khai báo mà không gán giá trị cho nó tương tự như biến myVal mình khai báo ở trên thì giá trị mặc định gán cho biến đó là false).

- Mình có thể gán lại giá trị mới cho biến trên bằng cách dùng phương pháp phủ định. Đối với phương pháp này, nếu giá trị hiện tại là false thì giá trị mới của biến đó sẽ là true và ngược lại. Bạn có thể tham khảo phần code bên dưới:

Solidity
myVal = !myVal;

- Ngoài ra, kiểu Boolean còn được thể hiện thông qua các câu lệnh if-else nữa đi kèm với nó là hai toán tử: ||, &&. Mình hãy xem xét ví dụ bên dưới như sau:

Solidity
if (myVal && !myOtherVal){
   // thực thi các câu lệnh ở đây....
}

- Trong câu lệnh điều kiện trên , nếu như biến myVal của chúng ta có giá trị là true và một biến khác tên là myOtherVal có giá trị là false thì chương trình sẽ nhảy vào bên trong cặp {} để thực thi các câu lệnh bên trong cặp {} đó.

2. Code demo:

- Mình có làm 1 clip cho phần demo này, nếu bạn thích xem và theo dõi trực tiếp thì hãy xem video bên dưới nha! Còn không thì bạn cứ tiếp tục đọc tiếp bài viết phía dưới:

- Tiếp theo là mình sẽ khởi tạo 1 Smart Contract đơn giản để tìm hiểu cách khai báo và sử dụng kiểu dữ liệu Boolean trong ngôn ngữ Solidity nhé! Đầu tiên là bạn bật Remix Editor Online lên và tạo 1 file Solidity tên là BooleanExample.sol.

- Bạn có thể đọc thêm về hướng dẫn sử dụng Remix và lập trình Smart contract đầu tiên ở bài viết bên dưới nhé!

Sử dụng Remix để viết Smart Contract đầu tiên
Trong bài viết này, em sẽ giới thiệu với mọi người Remix - một IDE nổi tiếng hỗ trợ chúng ta trong quá trình tìm hiểu, làm việc với ngôn ngữ lập trình Solidity và viết thử , deploy Smart Contract đầu tiên.

- Trước tiên, chúng ta sẽ khai báo version Solidity mà mình sử dụng đó chính là 0.8.1 và bạn lưu ý mình nhớ khai báo dòng đầu tiên vào mỗi file Solidity của chúng ta nhé! Nếu không có dòng đó thì chương trình chúng ta sẽ warning và không thể compile được Smart contract.

Solidity
// SPDX-License-Identifier: GPL-3.0

pragma solidity ^0.8.1;

contract BooleanExample {
    bool public myVal;
}

- Mình sẽ khai báo 1 biến public có kiểu dữ liệu Boolean tên là myVal để tương tác. Sau đó, mình sẽ Compile, Deploy contract của chúng ta để thử trường hợp đầu tiên là giá trị mặc định có phải là false hay không.

- Sau khi deploy thành công,bạn nhấn vào nút myVal trên UI sẽ hiển thị ra gía trị hiện tại của biến myVal là false.

Tiếp đó, mình sẽ tạo thêm 2 function nữa như sau:

  • setMyBool: Mình sẽ input đầu vào giá trị true hoặc false bất kỳ để set giá trị mới cho biến myVal.
  • negateMyBool: Mình sẽ thực hiện phương pháp phủ định để gán giá trị mới cho biến của chúng ta.
Solidity
contract BooleanExample {
    bool public myVal;

    function setMyBool(bool _value) public {
        myVal = _value;
    }

    function negateMyBool() public {
        myVal = !myVal;
    }
}

- Sau đó, mình sẽ xoá contract cũ và Compile, Deploy contract mới của chúng ta.

- Mình sẽ test thử function setMyBool đầu tiên. Trước tiên là mình nhập vào text input giá trị true rồi nhấn vào nút setMyBool để thực thi function này. Sau đó, mình sẽ kiểm tra lại giá trị của biến myVal thì lúc này giá trị mới của biến đó là true.

- Tiếp theo, mình sẽ thử luôn function negateMyBool. Sau khi nhấn vào nút đó mình kiểm tra lại giá trị mới của biến myVal thì giá trị mới được set lại là false.

Tổng kết

Và đó là toàn bộ phần tìm hiểu cơ bản về kiểu dữ liệu Boolean, còn rất nhiều bài viết hay về Blockchain trên Blog 200Lab Education bạn nhớ xem thêm các bài viết khác nữa nhé!

Bài viết liên quan

Lập trình backend expressjs

xây dựng hệ thống microservices
  • Kiến trúc Hexagonal và ứng dụngal font-
  • TypeScript: OOP và nguyên lý SOLIDal font-
  • Event-Driven Architecture, Queue & PubSubal font-
  • Basic scalable System Designal font-

Đăng ký nhận thông báo

Đừng bỏ lỡ những bài viết thú vị từ 200Lab