标准lib flag.intValue没有String方法

时间:2016-03-31 08:37:20

标签: go

func (f *FlagSet) IntVar(p *int, name string, value int, usage string) {
    f.Var(newIntValue(value, p), name, usage)
}

func (f *FlagSet) Var(value Value, name string, usage string) {
    flag := &Flag{name, usage, value, value.String()}
    // ...
}

func newIntValue(val int, p *int) *intValue {
    *p = val
    return (*intValue)(p)
}

type intValue int

type Value interface {
    String() string
    Set(string) error
}

我读了flag.Int源代码,发现: 标准库flag.intValue没有实现String和Set方法,我没有找到它们,var value Value = &intValue如何工作?

(抱歉,我的母语不是英语。)

0 个答案:

没有答案