我想将一个数字转换为十六进制并将结果存储在[]byte
最长为 4 的长度中。这是我想出的,但感觉很迂回。
package main
import (
"encoding/hex"
"fmt"
)
func main() {
hexstring := fmt.Sprintf("%x", 12345678)
fmt.Println(hexstring)
hexbytes, _ := hex.DecodeString(hexstring)
for {
if len(hexbytes) >= 4 {
break
}
hexbytes = append(hexbytes, 0)
}
fmt.Println(hexbytes)
}
我认为必须有更好的方法来使用make([]byte, 4)
和encoding/binary
包来做到这一点,但我无法让它工作。