繁体   English   中英

关于 Dart 语言关于 function 的问题

[英]Question on Dart language regarding function

代码

void main() {
int printit(var y, var z){
    var c = y+10;
    print (y);
    return c;
  }
 
  printit(20,23);
 
 var b = printit(1,3);
 print (b);
}

为什么 DartPad 中的上述代码给出 output 为这个?

20
1
11

Output

当我尝试将 function 的返回值添加到变量“b”时,为什么它会第二次打印 function

它会打印它,因为您在以下行中调用print(b)

删除该行,output 应如下所示:

20
1

尝试使用下面的代码片段

void main() {

int printit(var y, var z){
    var c = y+10;
    return c;
  }

var b;
 
 b= printit(20,23);

 print (b);
 
 b = printit(1,3);

 print (b);
}

它打印1因为您为b分配了值printit(1,3)并且在您的 function 本身中您要求使用print(y)打印y (此处为1 )。

void main() {
int printit(var y, var z){
    var c = y+10;
    print (y); // this line is responsible for printing 1. Try removing this.
    return c;
  }
 
  printit(20,23);
 
 var b = printit(1,3);
 print (b);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM