以下函数的返回类型是Future<File?>
,但是如果选择器没有返回图片,编译器不会抱怨没有返回值。
static Future<File?> takeImage() async {
PickedFile? pickedFile = await ImagePicker().getImage(source: ImageSource.camera);
if (pickedFile != null) {
print('PHOTO TAKEN');
return File(pickedFile.path);
} else {
print('NO PHOTO TAKEN');
}
}
null
如果不拍照片我必须返回,这不是更有意义吗?
没有return语句的方法总是返回null吗?
上面的例子很好地暗示了它,并且像这样简单的东西也可以编译。
static String? s() {}
有人可以澄清发生了什么吗?