Метод readLineSync
Метод readLineSync класса Stdin синхронно
считывает одну строку из стандартного ввода
и возвращает её в виде строки. Метод не принимает
обязательных параметров. В первом необязательном
параметре можно передать кодировку типа
Encoding, которая будет использоваться при
чтении. Если стандартный ввод был закрыт или
достигнут конец потока, метод возвращает
null. Считанная строка возвращается без
символа перевода строки в конце.
Синтаксис
stdin.readLineSync([encoding])
Пример
Давайте считаем одну строку из стандартного ввода и выведем её на экран:
import 'dart:io';
void main()
{
String? res = stdin.readLineSync();
print(res);
}
Если пользователь введёт строку abcde,
результат выполнения кода будет таким:
"abcde"
Пример
Давайте считаем строку, преобразуем её в число и выведем результат умножения на два:
import 'dart:io';
void main()
{
String? res = stdin.readLineSync();
int num = int.parse(res!);
print(num * 2);
}
Если пользователь введёт число 12345,
результат выполнения кода будет таким:
24690
Пример
Давайте проверим, что метод возвращает null,
если стандартный ввод был закрыт. Для этого
считаем строку в цикле до конца ввода:
import 'dart:io';
void main()
{
String? res;
while ((res = stdin.readLineSync()) != null) {
print(res);
}
print('End of input');
}
Если пользователь введёт строку abcde,
а затем закроет ввод, результат выполнения
кода будет таким:
"abcde"
"End of input"