【问题标题】:Question on Dart language regarding function关于 Dart 语言功能的问题
【发布时间】:2021-02-07 11:44:11
【问题描述】:

Code

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 中的上述代码会给出这样的输出?

20
1
11

Output

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

【问题讨论】:

  • 你的问题是为什么要打印11

标签: flutter dart


【解决方案1】:

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

删除该行,输出应如下所示:

20
1

【讨论】:

  • 这不是我的问题。当我要求打印 (b) 时,它应该给我 11 作为输出。为什么它在第二行打印 1? (忽略输出中的第一行)
【解决方案2】:

尝试使用下面的代码 sn-p

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);
}

【讨论】:

    【解决方案3】:

    它打印1,因为您为b 分配了值printit(1,3),并且在您的函数本身中,您要求使用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);
    }
    

    【讨论】:

      猜你喜欢
      • 2011-06-16
      • 2015-08-06
      • 1970-01-01
      • 2023-02-04
      • 2021-04-21
      • 2021-11-25
      • 2011-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多