func NewInt32(v *int32) flag.Value {
	return (*int32Value)(v)
}
NewInt32 behaves as flag.IntVar, but using an int32 type.
package flags
import (
	"flag"
	"fmt"
	"strconv"
)
type int32Value int32
func (i *int32Value) Set(s string) error {
	v, err := strconv.ParseInt(s, 0, 32)
	*i = int32Value(v)
	return err
}
func (i *int32Value) Get() interface{} {
	return int32(*i)
}
func (i *int32Value) String() string {
	return fmt.Sprintf("%v", *i)
}