kingpin_parser.go
package kingpin_parser
import (
"strconv"
"gopkg.in/alecthomas/kingpin.v2"
"fmt"
)
type size uint64
//单位换算
func (s *size) Set(value string) error {
num, err := strconv.ParseUint(value[:len(value) - 1], 10, 64)
if err != nil {
return fmt.Errorf("can't parse \"%s\"", value)
}
switch value[len(value) - 1] {
case 'B', 'b':
case 'K', 'k':
num = num << 10
case 'M', 'm':
num = num << 20
case 'G', 'g':
num = num << 30
default:
return fmt.Errorf("can't parse \"%s\"", value)
}
*s = size(num)
return nil
}
//数据支持标准输出
func (s *size) String() string {
return strconv.FormatUint(uint64(*s), 10)
}
//字节大小设置
func Size(s kingpin.Settings) (target *uint64) {
target = new(uint64)
s.SetValue((*size)(target))
return
}
kingpin_parser.go的更多相关文章
随机推荐
- rails中link_to与button_to的一个功能差异
页面中本来设计一个按钮,功能是当按下时跳转到index方法,然后实现一段功能.关键是其中需要传递一个参数show_all,其值为true. index方法中通过判断是否含有该参数来实现不同的逻辑,类似 ...
- JVM学习--(七)性能监控工具
前言 工欲善其事必先利其器,性能优化和故障排查在我们大都数人眼里是件比较棘手的事情,一是需要具备一定的原理知识作为基础,二是需要掌握排查问题和解决问题的流程.方法.本文就将介绍利用性能监控工具,帮助开 ...
- 2018 ACM-ICPC World Finals B.Comma Sprinkler
WF里面最简答一题,就是一个dfs就可以了,已经访问过的点可以不再访问 #include <algorithm> #include <cmath> #include <c ...
- JavaScript中高阶函数
https://zhuanlan.zhihu.com/p/23836323?refer=dreawer 高阶函数就是可以将函数作为另一个函数的参数.例如:将两个数的平方相加,这里匿名函数fn就是函数被 ...
- Java杂记9—NIO
前言 非阻塞IO,也被称之为新IO,它重新定义了一些概念. 缓冲buffer 通道 channel 通道选择器 BIO 阻塞IO,几乎所有的java程序员都会的字节流,字符流,输入流,输出流等分类就是 ...
- Codable实现json转Model,是时候干掉HandyJSON了!
自从开始使用Swift做项目,一直都在使用HandyJSON,不可否认,HandyJSON在Swift4.0是个好东西,也尝试过其它json转mode的工具,最终发现还是HandyJSON最好用. 去 ...
- Servlet总结二(文件路径)
Servlet总结二(文件路径) 前言 前面我们说过ServletContext表示的是web容器中的上下文,下面我们也是用到ServletContext中的方法读取文件 读取WebRoot文件下的文 ...
- jQuery匿名函数$(function(){ }
搬运原地址:https://zhidao.baidu.com/question/473318430.html $(function(){ }实际上是匿名函数.这是JQuery的语法,$表示JQuery ...
- SOFA 源码分析 — 链路数据透传
前言 SOFA-RPC 支持数据链路透传功能,官方解释: 链路数据透传功能支持应用向调用上下文中存放数据,达到整个链路上的应用都可以操作该数据. 使用方式如下,可分别向链路的 request 和 re ...
- NewLife.Net——管道处理器解决粘包
Tcp网络编程,必须要解决的一个问题就是粘包,尽管解决办法有很多,这里讲一个比较简单的方法. 老规矩,先上代码:https://github.com/nnhy/NewLife.Net.Tests 一. ...