func (i *IntValue) Set(s string) error {
	v, err := strconv.ParseInt(s, 0, 64)
	*i = IntValue(v)
	return err
}
Set sets int value from the given string value.
package parse
import (
	"encoding/json"
	"flag"
	"fmt"
	"reflect"
	"strconv"
	"strings"
	"time"
)
type Parser interface {
	flag.Getter
	SetValue(interface{})
}
type BoolValue bool
func (b *BoolValue) Set(s string) error {
	v, err := strconv.ParseBool(s)
	*b = BoolValue(v)
	return err
}
func (b *BoolValue) Get() interface{} { return bool(*b) }
func (b *BoolValue) String() string { return fmt.Sprintf("%v", *b) }
func (b *BoolValue) IsBoolFlag() bool { return true }
func (b *BoolValue) SetValue(val interface{}) {
	*b = BoolValue(val.(bool))
}
type BoolFlag interface {
	flag.Value
	IsBoolFlag() bool
}
type IntValue int