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的更多相关文章

随机推荐

  1. 【省带宽、压成本专题】深入解析 H.265 编码模式,带你了解 Apple 全面推进 H.265 的原因

    过去几年,又拍云一直在点播.直播等视频应用方面潜心钻研,取得了不俗的成果.我们结合点播.直播.短视频等业务中的用户场景,推出了"省带宽.压成本"系列文章,从编码技术.网络架构等角度 ...

  2. jQuery结合lhgdialog弹出窗口,关闭时出现没有权限错误

    背景: 最近的项目,使用JQuery+lhgdialog窗口组件方式模拟弹窗,在关闭lhgdialog窗口时,出现以下错误: >jQuery没有权限 >调试时 w.readyState没有 ...

  3. fastDFS与Java整合上传下载

    由于项目需要整合个文件管理,选择使用的是fastDFS. 整合使用还是很方便的. 准备 下载fastdfs-client-java源码 源码地址 密码:s3sw 修改pom.xml 第一个plugin ...

  4. oracle面试题目总结

    阿里巴巴公司DBA笔试题  http://searchdatabase.techtarget.com.cn/tips/2/2535002.shtml   注:以下题目,可根据自己情况挑选题目作答,不必 ...

  5. [ SSH框架 ] Hibernate框架学习之四(JPA)

    一.JPA概述以及它和Hibernate之间的关系 1.1.Hibernate 概述 JPA Java Persistence API,是EJB3规范中负责对象持久化的应用程序编程接口(ORM接口), ...

  6. get请求URL的转码

    String name = new String(json.getString("name").getBytes("iso8859-1"),"UTF- ...

  7. /usr/lib/uwsgi/plugins/python_plugin.so: cannot open shared object file: No such file or directory

    Django uwsgi部署方式下产生这个Bug,后来发现把uwsgi配置ini文件里面的 #plugins = python 把上面这句配置语句注释掉,uwsgi就可以运行了,当然,是正常可用运行状 ...

  8. ubuntu 13.10 install wireshark

    ubuntu 13.10 install wireshark 今天在使用java jsoup操作remote server的是否,在本地执行可以成功返回内容,然后打成jar包,使用shell在 ser ...

  9. python 脚本自动登陆校园网

    学校的校园网每次重开电脑时都要重新打开浏览器进行网页登录,繁琐的操作比较麻烦,于是便写了个python的脚本进行自动登录,下面说下具体的操作过程: 1. 方法说明 博主采用的python的 reque ...

  10. 全文检索-Lucene.net

    Lucene.net是Lucene的.net移植版本,在较早之前是比较受欢迎的一个开源的全文检索引擎开发包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎. ...