我正在处理的 Dart 项目需要多个实例打印语句而无需换行。据我了解,可以通过以下方式实现在 dart 中没有新行的打印
stdout.write("string");
一切都很好,但是当我尝试编写类似这样的代码时:
stdout.write("Enter a number: ");
var a = stdin.readLineSync(encoding: SYSTEM_ENCODING);
stdout.write("Enter another number: ");
var b = stdin.readLineSync(encoding: SYSTEM_ENCODING);
stdout.write(a + b);
这在非 Windows 系统上完美运行,但在 Windows(32 位和 64 位)中,我打印的第二条消息没有显示,程序直接转到 stdin.readLineSync() 调用并等待输入。在我给出输入后,将显示消息。我在这里遇到了类似的帖子,说 stdout.write() 可能是异步的,但奇怪的是这段代码在 Linux 上运行得非常好并且以同步的方式运行。
我的项目非常需要同步执行,上述问题可以通过 Futures 解决,但会丢失同步执行。
任何帮助深表感谢。