简单的说,就是对命令的参数进行定义和解析的工具 -- 这里说的参数是我们常用的说法,而CLI里则是Option.Options,参数值(如果有)则是Option的arg(s). ## 为什么 那么,为什么要用这个工具呢? 因为在很多情况下,一个命令要包含很多参数及值,而有时候我们又需要生成这样的参数,或者获解析这样的参数. 如果使用字符串的切割或者正则来做,当然也不是不行,就是麻烦,特别是在参数顺序不定,参数值个数不定,参数和参数值的分隔符不定的时候,无疑是很令人头疼的一件事. 这个时候,就是轮…