You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dart代码中额外输出的null值来自何处?

Dart代码中null输出的原因解析

先看你提供的代码:

func(){
  print("in func");
}

void main() {
  var x = func;
 
  print(x());
  
}

运行后输出:

in func
null 

这里的null是因为Dart里未显式声明返回类型且无return语句的函数,默认会返回null。

具体来说,你的func函数既没指定返回类型,也没有用return语句返回任何值,Dart会默认把这类函数的返回值推断为dynamic类型。当函数执行完内部的print语句后,就会自动返回null。而你在main里调用print(x()),本质是把func执行后的返回值(也就是null)传给了print函数,所以就会额外输出一行null。

内容的提问来源于stack exchange,提问作者Ya Y

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 21:25:19