如何在Dart中读取控制台输入/ stdin?

Set*_*add 21 dart dart-io

如何从stdinDart中读取控制台输入?

有没有scanf在DART?

Ren*_*nis 25

stdinreadLineSync()方法允许从控制台捕获String:

import 'dart:io';

main() {
    print('1 + 1 = ...');
    var line = stdin.readLineSync(encoding: Encoding.getByName('utf-8'));
    print(line.trim() == '2' ? 'Yup!' : 'Nope :(');
}
Run Code Online (Sandbox Code Playgroud)


Jay*_*llu 11

import 'dart:io';

void main(){
  stdout.write("Enter your name : ");
  var name = stdin.readLineSync();
  stdout.write(name);
}
Run Code Online (Sandbox Code Playgroud)

输出

Enter your name : Jay
Jay
Run Code Online (Sandbox Code Playgroud)

默认情况下 readLineSync() 将输入作为字符串。但是如果你想要整数输入,那么你必须使用 parse() 或 tryparse()。


nob*_*ody 7

以下应该是最新的dart代码来读取stdin的输入.

import 'dart:async';
import 'dart:io';
import 'dart:convert';

void main() {
  readLine().listen(processLine);
}

Stream<String> readLine() => stdin
    .transform(utf8.decoder)
    .transform(const LineSplitter());

void processLine(String line) {
  print(line);
}
Run Code Online (Sandbox Code Playgroud)