Flutter 颤振共享\u首选项getString()不返回字符串?

Flutter 颤振共享\u首选项getString()不返回字符串?,flutter,dart,Flutter,Dart,我对flatter是个新手,现在我正尝试使用它的包来保存字符串并将其取回 现在,我相信getString应该返回一个字符串(至少VS-code告诉我这一点),所以我声明了一个返回字符串的包装函数: String getName() async { final prefs = await SharedPreferences.getInstance(); return prefs.getString('name'); } 但是,这不会编译,并且会出现错误(请注意'String缺少引号):

我对flatter是个新手,现在我正尝试使用它的包来保存字符串并将其取回

现在,我相信
getString
应该返回一个字符串(至少VS-code告诉我这一点),所以我声明了一个返回字符串的包装函数:

String getName() async {
  final prefs = await SharedPreferences.getInstance();
  return prefs.getString('name');
}
但是,这不会编译,并且会出现错误(请注意
'String
缺少引号):

无法从方法“getName”返回类型为“String”的值,因为它的返回类型为“String”

如果我完全删除了返回类型,错误就会消失:

getName() async {
  final prefs = await SharedPreferences.getInstance();
  return prefs.getString('name');
}

有人能解释一下这是怎么回事吗?
getString
实际返回的是什么?

好了,我现在发现我缺少了什么:我的函数是异步的


事实证明,Dart中的异步函数的返回类型为
Future

您必须返回
Future
,因为您的函数是异步函数

Future<String> getName() async {
  final prefs = await SharedPreferences.getInstance();
  return prefs.getString('name');
}
Future getName()异步{
final prefs=wait SharedPreferences.getInstance();
返回prefs.getString('name');
}