package main
import (
"fmt"
)
func removeTrailingNulls(data []byte) []byte {
// Find the position of the last non-null byte
lastNonNull := len(data) - 1
for lastNonNull >= 0 && data[lastNonNull] == 0 {
lastNonNull--
}
// Slice the array up to the last non-null byte
return data[:lastNonNull + 1]
}
func main() {
data := []byte{1, 2, 3, 0, 0, 0, 0}
trimmedData := removeTrailingNulls(data)
fmt.Println(trimmedData)
}
/*
run:
[1 2 3]
*/