我有一个解析函数,它将用以字符串格式给出的数据填充字节数组。
func Parse(data string) ([]byte, error) {
bs := make([]byte, 6)
// Create sub slices over larger slice
a := bs[0:2]
b := bs[2:4]
c := bs[4:6]
// Attempt to scan each string value into their respective slices
_, err := fmt.Sscanf(data, "%4x-%4x-%4x", &a, &b, &c)
return bs, err
}
在Go Playground上评估此函数,返回字节数组的空值。
func main() {
d, err := Parse("00ff-ff00-00ff")
fmt.Printf("Value: %+v Error: %s\n", d, err)
}
产生:
Value: [0 0 0 0 0 0] Error: %!s(<nil>)
我预计上述方法会返回[0 255 255 0 0 255]。是否有使用 Sscanf 用数据填充字节数组的正确方法?
梦里花落0921
浮云间
相关分类