17일차 - 성명서 주장
특사-VC / 30일의 견고함
스마트 계약 개발을 배우기 위한 30일간의 Solidity 단계별 가이드.
Solidity Series의
17
중 Day30
입니다.오늘은 Solidity에서 Assert 문에 대해 배웠습니다.
주장 진술
구문은 require 문과 유사합니다. 조건 평가 후 부울 값을 반환합니다. 반환 값에 따라 프로그램은 실행을 계속하거나 예외를 throw합니다. 사용하지 않은 가스를 반환하는 대신 assert 문은 전체 가스 공급을 소비하고 상태를 원래 상태로 되돌립니다. Assert는 계약을 실행하기 전에 현재 상태 및 기능 조건을 확인하는 데 사용됩니다. 다음은 어설션 유형 예외가 있는 몇 가지 경우입니다.
통사론:
assert(condition);
예시:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;
contract ErrorsAndChecks {
bool result;
function assertStatement(uint256 _num1, uint256 _num2) public {
uint256 sum = _num1 + _num2;
assert(sum <= 255);
result = true;
}
function checkAssert() public view returns (string memory) {
if (result == true) {
return "No Overflow";
} else {
return "Overflow exist";
}
}
}
산출:
입력을 78 및 84로 전달한 다음 checkAssert 함수를 실행하면 다음과 같은 출력이 표시됩니다.
0 : string: No Overflow
합계 = 78 + 84 = 162는 255보다 작거나 같습니다.
입력을 198 및 84로 전달한 다음 checkAssert 함수를 실행하면 다음과 같은 출력이 표시됩니다.
0 : string: No Overflow
합계 = 198 + 84 = 282는 255보다 큽니다.
Reference
이 문제에 관하여(17일차 - 성명서 주장), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/envoy_/day-17-assert-statement-57g9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)