Cli 工程增加用户交互

15 阅读1分钟

前沿

在上一篇文章基础上增加简单的help、version、search commands指令。学习Dart及本语法,比如流程控制if else 、List、variables、functions。

任务

实现version 和help 指令

1、实现version指令
定义version 常量
const version = '0.0.1'
修改main函数并检查version 参数

Screenshot 2026-04-19 at 17.41.09.png

2、测试version指令
dart bin/cli.dart version
执行上述命令后输出如下:
Dartpedia CLI version 0.0.1

3、添加printUsage函数

Screenshot 2026-04-19 at 17.43.36.png

4、实现help指令,在main函数中添加help判断并使用if else 流程控制语句

Screenshot 2026-04-19 at 17.44.24.png 5、测试help 指令
dart bin/cli.dart help

实现search指令

1、main函数中添加searh指令

Screenshot 2026-04-19 at 17.52.19.png

2、测试search指令
dart bin/cli.dart search
3、执行上述指令看到如下信息
Search command recognized!
4、定义searchWikipedia,参数类型是List

Screenshot 2026-04-19 at 17.54.52.png 上述函数中list是带?的,表明list是可以为null的
5、main函数中调用searchWikipedia函数

Screenshot 2026-04-19 at 17.57.08.png 调用 arguments.sublist(1) 方法,截取 arguments 列表中**索引 1 开始至末尾的全部元素
final关键字修饰的变量只能被设置一次
6、测试带参数的search指令
dart bin/cli.dart search Dart Programming
7、你会看到如下信息
searchWikipedia received arguments: [Dart, Programming]
8、不带参数的search指令
dart bin/cli.dart search
输出信息
searchWikipedia received arguments: null
9、使用stid指令添加用户交互
导入 import 'dart:io';
修改searchWikipedia

Screenshot 2026-04-19 at 18.07.48.png

总结

  • 实现version指令
  • 实现help指令
  • if else流程语句
  • const关键字
  • 定义函数
  • 实现search指令
  • list相关方法
  • finnal关键字
  • dart:io库中stdin 指令