在 Dart 中使用赋值运算符

问题描述 投票:0回答:1
void main()
{
  var a=10;
  var b=2;
  var toplam=a+=b;
  var fark=a-=b;
  var carpim=a*=b;
  var bolme=a/=b;
  print("$toplam");
  print("$fark");
  print("$carpim");
  print("$bolme");
}

此代码在拆分时出现以下错误: “‘double’类型的值不能分配给‘int’类型的变量。”

dart operators variable-assignment
1个回答
0
投票

当你这样做时:

var a=10;

a
的类型是从作业的右侧推断出来的。右侧是
int
文字,因此
a
被推断为
int
类型。

稍后当你尝试这样做时:

var bolme=a/=b;

a /= b
部分失败,因为
int.operator /
返回一个
double
,因此该结果不能分配给只能存储
a
int

如果您希望

a
能够存储
double
,那么您必须将其声明为
double
(或者是
num
int
double
的基类):

double a = 10;

var a = 10.0;

num a = 10;
© www.soinside.com 2019 - 2024. All rights reserved.