我只是想做到這一點,而不訴諸STRCONV &字符串,但我只在字節不精通的工作:工作一bytes.Buffer而不是訴諸字符串,strvconv等
func rangeSeq(b *bytes.Buffer) ([][]byte, bool) {
q := bytes.Split(b.Bytes(), []byte{SEQ_RANGE})
if len(q) == 2 {
var ret [][]byte
il, lt := string(q[0]), string(q[1])
initial, err := strconv.ParseInt(il, 10, 64)
last, err := strconv.ParseInt(lt, 10, 64)
if err == nil {
if initial < last {
for i := initial; i <= last; i++ {
out := strconv.AppendInt([]byte{}, i, 10)
ret = append(ret, out)
}
}
return ret, true
}
}
return nil, false
}
建議?
我們對輸入數字有任何保證嗎?例如。他們總是積極的,或者他們也可能是消極的?數字也可以在零之前,例如數字「10」可以寫爲「00010」? – icza
目前還沒有關於輸入的保證,它的所有解析[]字節從配置文件在這一點上 – blueblank