3 Star 0 Fork 1

Gitee 极速下载 / gcfg

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/go-gcfg/gcfg
克隆/下载
scan.go 623 Bytes
一键复制 编辑 原始数据 按行查看 历史
speter 提交于 2014-03-11 19:17 . improve error for extra characters
package types
import (
"fmt"
"io"
"reflect"
)
// ScanFully uses fmt.Sscanf with verb to fully scan val into ptr.
func ScanFully(ptr interface{}, val string, verb byte) error {
t := reflect.ValueOf(ptr).Elem().Type()
// attempt to read extra bytes to make sure the value is consumed
var b []byte
n, err := fmt.Sscanf(val, "%"+string(verb)+"%s", ptr, &b)
switch {
case n < 1 || n == 1 && err != io.EOF:
return fmt.Errorf("failed to parse %q as %v: %v", val, t, err)
case n > 1:
return fmt.Errorf("failed to parse %q as %v: extra characters %q", val, t, string(b))
}
// n == 1 && err == io.EOF
return nil
}
1
https://gitee.com/mirrors/gcfg.git
git@gitee.com:mirrors/gcfg.git
mirrors
gcfg
gcfg
v1.2.3

搜索帮助

53164aa7 5694891 3bd8fe86 5694891