这很奇怪,但我无法将字节值转换为int。
这是代码:
fmt.Println("numMsgsByte is:", numMsgsByte)
numMsgsStr := string(numMsgsByte)
fmt.Println("numMsgsStr is:", numMsgsStr)
numMsgs, err = strconv.Atoi(numMsgsStr)
if err != nil {
log.Println("error in msg conversion", err)
return 0
}
终端打印出来:
numMsgsByte is: [5]
numMsgsStr is:
counter.go:51: error in msg conversion strconv.Atoi: parsing "\x05": invalid syntax
这有什么问题吗?我该如何解决?
最佳答案
numMsgByte
不是一个字节,它是一个[]byte
,其中包含5(而不是“5”)。使用string(numMsgByte)
将其转换为字符串时,将获得字符串“\ x5”。
您需要的是:int(numMsgType[0])
关于go - 无法在Golang中将字节转换为int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59215151/