在编程语言中,一元运算符是指只作用于一个操作数的运算符。Dart 中也提供了几种一元运算符,它们可以用来改变操作数的值或获取其属性。以下将详细介绍 Dart 中常用的一元运算符。
负号运算符(-)
负号运算符用于对数值进行取反操作。如果操作数是正数,则结果为负数;反之亦然。
void main() {
int a = 10;
print(-a); // 输出 -10
}自增运算符(++)
自增运算符用于增加变量的值。它有两种使用方式:前置自增(++a)和后置自增(a++)。前置自增表示先增加变量的值,再使用该值;而后置自增则相反,先使用变量的值,再增加变量的值。
// www.javascriptcn.com code example
void main() {
int a = 5;
// 前置自增
print(++a); // 输出 6
int b = 5;
// 后置自增
print(b++); // 输出 5
print(b); // 输出 6
}自减运算符(--)
自减运算符用于减少变量的值。它同样有两种使用方式:前置自减(--a)和后置自减(a--)。与自增运算符类似,前置自减表示先减少变量的值,再使用该值;而后置自减则相反,先使用变量的值,再减少变量的值。
// www.javascriptcn.com code example
void main() {
int a = 5;
// 前置自减
print(--a); // 输出 4
int b = 5;
// 后置自减
print(b--); // 输出 5
print(b); // 输出 4
}取反运算符(!)
取反运算符用于逻辑取反。如果操作数是一个布尔值,则取反运算符会将其转换为其对立面。如果操作数不是布尔值,Dart 会尝试将其转换为布尔值后再进行取反。
void main() {
bool flag = true;
print(!flag); // 输出 false
int num = 0;
print(!num); // 输出 true
}空合并运算符(??)
空合并运算符用于提供默认值。当左侧的操作数为 null 时,返回右侧的操作数作为默认值。否则返回左侧的操作数。
void main() {
String name = null;
print(name ?? "Unknown"); // 输出 Unknown
String name2 = "John";
print(name2 ?? "Unknown"); // 输出 John
}空合并赋值运算符(??=)
空合并赋值运算符用于在目标变量为 null 时为其赋值。它等价于:
if (target == null) {
target = value;
}// www.javascriptcn.com code example
void main() {
String name;
name ??= "Unknown";
print(name); // 输出 Unknown
String name2 = "John";
name2 ??= "Unknown";
print(name2); // 输出 John
}以上介绍了 Dart 中常见的一元运算符及其使用方法。这些运算符在日常编程中非常有用,能够帮助我们更高效地编写代码。