20210702dart关于函数返回值的省略规则 - ziyouzy/2021blog GitHub Wiki

宏观的介绍文章:

https://blog.csdn.net/qq_18948359/article/details/82750801

需要注意的是除了“=>/省略return”外,还需要额外记住参数表内各个参数的数据类型也是可以省略的,比如说没必要(int i, String s)而可以直接(i,s)在使用时dart会自动进行类型推导,而这还不是最需要留意的,请继续往下看

函数会分为无返回值类型和有返回值类型,而有返回值类型的返回值是可以省略的省略原理其实等同于上面所述参数表省略参数类型一样,这个有可能是从python那里学的
接下来重点来了要做稳: void作为返回值的话,返回的类型就会变得很复杂了,他并不等于说return一个诸如“String?”这样的某个数据类型的空值,最直观的体现是如果在使用某个返回值类型为void的函数
假如你希望做一次返回值判定(如someVoidf()!=null?print("ok")&print("err"))这是不行的

相关文章:

https://blog.csdn.net/HaoDaWang/article/details/83064719

摘要:

1.在 dart 里,被省略的函数返回值不是 void,dart 可以允许你不写函数的返回值,编译器会自动帮助你返回 null
2.这和有些语言的不声明返回值默认是 void 的有点不一样

再比如,这里分析一个典型案例:

void main(){
    print(hello() == null); // true
}

hello() { }

这个例子(hello(){})就是说,有些函数在设计之初的逻辑上就是用来执行一些print的操作的,或者说是“数据流动的末端”,但是即使是这样的函数其实也是有返回值的,返回值为null
或许这个特性golang也是如此,只不过是我之前没有发现这个知识点

并不是说我的设计逻辑需要借助所设计的函数return一个之,这个函数才会return的

但是void就不同了,不过暂时也不用太去在于void的使用场景,遇到了在学即可