, October 02, 2022

0 kết quả được tìm thấy

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


  •   5 min reads
Tìm hiểu kiểu dữ liệu Boolean trong Solidity

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:

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:

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:

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.

// 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.
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

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é!...

Tìm hiểu kiểu dữ liệu (Unsigned) Integer trong Solidity
Sự khác biệt giữa Blockchain vs Cryptocurrency (Tiền điện tử)

Blockchain và tiền điện tử là hai thuật ngữ thường được sử dụng để thay thế cho nhau. Tuy nhiên, sẽ có sự khác biệt lớn giữa hai điều này. Tiền điện tử là loại tiền kỹ thuật số sử dụng blockchain làm sổ cái để lưu trữ hồ sơ của các giao dịch tiền điện tử....

Sự khác biệt giữa Blockchain vs Cryptocurrency (Tiền điện tử)
13 projects giúp bạn trở thành master với Web3 và Blockchain - Từ cơ bản đến nâng cao

Sau đây là 13 projects giúp bạn xây dựng để nâng cấp kỹ năng Web3 và Blockchain cho dù bạn là người mới bắt đầu hay đã lập trình trước đó....

13 projects giúp bạn trở thành master với Web3 và Blockchain - Từ cơ bản đến nâng cao
Làm sao để trở thành Blockchain Developer?

Dể trở thành Blockchain Developer, thì việc biết tương tác với smart contract là chưa đủ, còn rất nhiều công việc khác mà một Blockchain Dev cần phải đảm nhận. Vậy những công việc khác đó là gì?...

Làm sao để trở thành Blockchain Developer?
STO là gì? Tất tần tật về STO

STO (Security Token Offering) là hình thức gọi vốn từ các nhà đầu tư thông qua việc phát hành một cryptocurrency hoặc token....

STO là gì? Tất tần tật về STO
You've successfully subscribed to 200Lab Blog
Great! Next, complete checkout for full access to 200Lab Blog
Xin chào mừng bạn đã quay trở lại
OK! Tài khoản của bạn đã kích hoạt thành công.
Success! Your billing info is updated.
Billing info update failed.
Your link has expired.