【问题标题】:How can i take user input in dart? [duplicate]我如何在飞镖中接受用户输入? [复制]
【发布时间】:2021-06-17 16:14:51
【问题描述】:
import 'dart:io';
main()
{
  print('What is your name: ');
  String name = stdin.readLineSync();
  print('Your age is = $name');
}

//当我在 dart 中接受用户输入时出现此错误,错误:'String?' 类型的值不能分配给“字符串”类型的变量,因为“字符串?”可以为空,而 'String' 不是。

【问题讨论】:

标签: flutter dart visual-studio-code user-input


【解决方案1】:

我猜你正在使用空安全。发生错误是因为stdin.readLineSync() 返回一个String?,但您在String name 上设置了它。要修复它,请添加 ?!,但要确保它不为空。

String? name = stdin.readLineSync();
String name = stdin.readLineSync()!;

【讨论】:

  • 不客气!将问题标记为已解决,以便其他人知道。
  • String? name = ...String name = ...! 之间存在很大差异。不要盲目地选择一个。如果readLineSync() 返回null,后者将抛出异常,这可能会立即到达EOF。
猜你喜欢
  • 2019-11-21
  • 2020-10-30
  • 2021-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-24
  • 2022-01-23
相关资源
最近更新 更多