CliktKotlin 命令行接口

联合创作 · 2023-09-28 11:11

Clikt 是一个 Kotlin 库,Kotlin 的命令行接口,能够使编写命令行接口变得简洁直观,同时支持各种各样的用例,并允许在需要时进行高级定制。

Clikt 的特点:

  • 可以任意嵌套命令
  • 可组合,类型安全的参数值
  • 支持多种命令行接口风格
  • JVM,NodeJS和本机Linux,Windows和MacOS的多平台软件包

 

示例代码:

class Hello : CliktCommand() {
    val count: Int by option(help="Number of greetings").int().default(1)
    val name: String by option(help="The person to greet").prompt("Your name")

    override fun run() {
        for (i in 1..count) {
            echo("Hello $name!")
        }
    }
}

fun main(args: Array<String>) = Hello().main(args)

运行结果:

 $ ./hello --count=3
 Your name: John
 Hello John!
 Hello John!
 Hello John!

自动生成帮助参数:

$ ./hello --help
Usage: hello [OPTIONS]

Options:
  --count INT  Number of greetings
  --name TEXT  The person to greet
  -h, --help   Show this message and exit

错误处理:

$ ./hello --whoops
Usage: hello [OPTIONS]

Error: no such option: "--whoops".
浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报