不工作 stdout.write 方法但可以工作 stdout.writeln

Doesn't work stdout.write Method but can work stdout.writeln

import 'dart:io'
void main(){
stdout.write("abc");}

该代码不起作用但是

void main(){
stdout.writeln("abc");}

成功了!!输出是“abc”和

void main(){
stdout.write("abc");
stdout.writeln("def");}

输出为“abcdef” 我无法理解这件事...

writewriteln 都是 non-blocking,不同之处在于 writeln 导致缓冲区被刷新。如果您在结束程序之前等待刷新,您的第一个代码将起作用:

import 'dart:io'

void main() async {
    stdout.write("abc");
    await stdout.flush();
}