Appearance
运算符
与 Java
、C++
等语言的 运算符
概念类似:
算术运算符:用于执行基本的算术操作,如加减乘除等。例如,加法运算符(
+
),减法运算符(-
),乘法运算符(*
),除法运算符(/
),模运算符(%
)等。逻辑运算符:用于执行逻辑操作,如与、或、非等。例如,与运算符(
&&
),或运算符(||
),非运算符(!
)等。比较运算符:用于比较两个值之间的关系,如是否相等、大小等。例如,相等运算符(
==
),不相等运算符(!=
),大于运算符(>
),小于等于运算符(<=
)等。赋值运算符:用于给变量赋值。例如,等于运算符(
=
),加等于运算符(+=
),减等于运算符(-=
),乘等于运算符(*=
),除等于运算符(/=
)等。
示例
以下是 Solidity
中的运算符的一个简单示例:
solidity
pragma solidity >=0.4.22 <0.9.0;
contract OperatorExample {
uint256 public num1 = 10;
uint256 public num2 = 5;
function arithmeticOperators() pure public returns (uint256, uint256, uint256, uint256, uint256) {
uint256 addition = num1 + num2; // 加法运算符
uint256 subtraction = num1 - num2; // 减法运算符
uint256 multiplication = num1 * num2; // 乘法运算符
uint256 division = num1 / num2; // 除法运算符
uint256 modulus = num1 % num2; // 模运算符
return (addition, subtraction, multiplication, division, modulus);
}
function comparisonOperators() pure public returns (bool, bool, bool, bool, bool) {
bool equalTo = (num1 == num2); // 相等运算符
bool notEqualTo = (num1 != num2); // 不相等运算符
bool greaterThan = (num1 > num2); // 大于运算符
bool lessThan = (num1 < num2); // 小于运算符
bool greaterThanEqualTo = (num1 >= num2); // 大于等于运算符
bool lessThanEqualTo = (num1 <= num2); // 小于等于运算符
return (equalTo, notEqualTo, greaterThan, lessThan, greaterThanEqualTo, lessThanEqualTo);
}
function logicalOperators() pure public returns (bool, bool, bool) {
bool andOperator = (num1 > 5 && num2 < 10); // 与运算符
bool orOperator = (num1 > 5 || num2 < 10); // 或运算符
bool notOperator = !(num1 > 5); // 非运算符
return (andOperator, orOperator, notOperator);
}
}
在上述示例中,我们定义了一个名为 OperatorExample
的智能合约,该合约包含三个不同的函数,分别演示算术运算符、比较运算符和逻辑运算符的用法。每个函数的返回值都包括运算结果。