import 'dart:io';
void main()
{
stdout.writeln('Type in your name please');
String input = stdin.readLineSync();
stdout.writeln('Hi $input nice to meet u ');
}
这只是因为在 dart 3中有一个特性被添加称为空安全,这是用来保证输入不会为空,所以你只需要添加一个'!' in Your 'stdin.readLineSync()' and You are done Here is The Code:
import 'dart:io';
void main()
{
stdout.writeln('Type in your name please');
String input = stdin.readLineSync()!;
stdout.writeln('Hi $input nice to meet u ');
}
void main(List<String> args) {
print('Type in your name please:');
var input = stdin.readLineSync();
print('Hi $input, nice to meet you');
print('Done!');
}
import 'dart:io';
void main()
{
stdout.writeln('Type in your name please');
String? input = stdin.readLineSync();
stdout.writeln('Hi $input nice to meet u ');
}
import 'dart:io';
void main(){
stdout.write("Type in your name please: ");
var name = stdin.readLineSync();
stdout.writeln('Hi $input nice to meet u ');
}
import 'dart:io';
main() {
stdout.writeln('Ingresa tu nombre'); //Genera un prompt para el ingreso de datos
var nameUser = stdin.readLineSync(); //Almacena el dato ingresado en el prompt en la variable 'nameUser'
print('Tu nombre es: $nameUser');
}
6条答案
按热度按时间bqucvtff1#
这只是因为在 dart 3中有一个特性被添加称为空安全,这是用来保证输入不会为空,所以你只需要添加一个'!' in Your 'stdin.readLineSync()' and You are done Here is The Code:
6yt4nkrj2#
此错误是关于“Null Safety”,
readLineSync
返回'String?',并且变量input
不接受空值。这段代码可以帮助你:kr98yfug3#
你也可以把String改成String吗?就像这样:
irtuqstp4#
Dart 3引入了“Null Safety”。这意味着readLineSync返回'String?',它接受空值,但'String'不接受。
解决这个问题的一种方法是使用'.toString()'。这将返回字符串“null”而不是null。
请注意,当您什么都不输入时,readLineSync()返回一个空字符串,因此您将只看到“Hi nice to meet u”而不是“Hi null很高兴认识你”
这也适用于标准字符串。
fhg3lkii5#
首先,那是 dart ,不是扑击。Flutter是框架。如果你现在只学习 dart ,InteliJ IDEA是最好的 dart ide。社区版是免费的。
这样的东西会起作用:
stdin.readLineSync();
实际上并不返回String,所以你需要使用var(推断类型)。使用name.runtimeType;
查找它返回的类型。z31licg06#
您的问题的解决方法如下: