在Dart程序中从用户那里读取控制台参数或输入参数的多种方法

640 阅读1分钟

本教程展示了在Dart程序中从用户那里读取控制台参数或输入参数的多种方法。

如何在Dart中从控制台命令中读取输入参数?

dart:io 包提供了两个类:

  • stdout - 包含向控制台打印字符串的方法
  • stdin - 包含从控制台读取输入的方法

stdin.readLineSync() 方法从stdin控制台读取输入,它返回一个可选的字符串,这个字符串可以是空的,在按下Enter键之前作为一个字符串读取。

语法:

  String? readLineSync(
      {Encoding encoding = systemEncoding, bool retainNewlines = false}) 

Encoding 参数提供编码 , 布尔值表示字符串是否存储行结束字符。retainNewlines

下面是一个从控制台读取输入的程序。

import 'dart:io';

void main() {
  stdout.write("Please enter Name : ");
  var inputName = stdin.readLineSync();
  stdout.write(inputName);
}

输出:

Please enter Name : john
john

如何在dart程序中获得用户的整数输入?

stdin.readLineSync() 返回字符串。

使用try.tryParse() 方法将字符串解析为int。

你可以查看将字符串转换为int的多种方法

下面是一个从输入控制台读取数字的示例程序。

import 'dart:io';

void main() {
  stdout.write("Please enter Name : ");
  var inputName = stdin.readLineSync();
  stdout.write("Please enter Age : ");
  var age = int.tryParse(stdin.readLineSync());
  stdout.write(inputName);
  stdout.write('\n');
  stdout.write(age);
}

Please enter Name : john
Please enter Age : 25
john
25

总结

学习了如何在dart和flutter中从用户的终端控制台读取输入数据。