我有一个变量cmd
,返回[50 48 ... 50 53 10]
可以删除此var的任何字节吗?在我的情况下,我想删除最后一个字节[10] == LF(换行)以获取:[50 48 ... 50 53]
P.S。:我没有发现任何类似的问题,因为函数bytes.Trim(cmd, "\x10")
对我不起作用,或者,我可能不会使用它......
答案 0 :(得分:3)
没有这样的内置方法可以做到这一点,但你仍然可以这样做:
cmd := []int{1, 2, 3, 3, 5, 6, 7, 8}
expected := cmd[:len(cmd)-1])
答案 1 :(得分:3)
例如,
package main
import (
"bytes"
"fmt"
)
func main() {
b := []byte{50, 48, 50, 53, 10}
fmt.Println(b)
b = bytes.TrimSuffix(b, []byte{10}) // Line Feed
fmt.Println(b)
b = []byte{50, 48, 50, 53, 10}
fmt.Println(b)
b = bytes.TrimSuffix(b, []byte("\n")) // Line Feed
fmt.Println(b)
}
输出:
[50 48 50 53 10]
[50 48 50 53]
[50 48 50 53 10]
[50 48 50 53]