如何验证字符串是否表示转到

时间:2017-12-29 19:52:47

标签: go

这主要有效:

import "encoding/hex"

func isHexString(s string) bool {
    _, err := hex.DecodeString(s)
    return err == nil
}

但是,我们也可能想要支持奇数长度的十六进制字符串。检查hex.ErrLength不起作用,因为此错误在字符串是否包含十六进制字符之前。我想可以操纵字符串来包含适当数量的字符并应用两个检查,但似乎应该有更好的方法。

https://golang.org/pkg/encoding/hex/#DecodeString

1 个答案:

答案 0 :(得分:5)

如果您的目标是将十六进制数字解析为整数或无符号整数,请调用strconv.ParseIntstrconv.ParseUint

n, err := strconv.ParseUint(s, 16, 64)
if err != nil {
    // s is not a valid
}