github.com/nspcc-dev/neo-go@v0.105.2-0.20240517133400-6be757af3eba/pkg/util/slice/array.go (about) 1 /* 2 Package slice contains byte slice helpers. 3 */ 4 package slice 5 6 // CopyReverse returns a new byte slice containing reversed version of the 7 // original. 8 func CopyReverse(b []byte) []byte { 9 dest := make([]byte, len(b)) 10 reverse(dest, b) 11 return dest 12 } 13 14 // Reverse does in-place reversing of byte slice. 15 func Reverse(b []byte) { 16 reverse(b, b) 17 } 18 19 func reverse(dst []byte, src []byte) { 20 for i, j := 0, len(src)-1; i <= j; i, j = i+1, j-1 { 21 dst[i], dst[j] = src[j], src[i] 22 } 23 } 24 25 // Clean wipes the data in b by filling it with zeros. 26 func Clean(b []byte) { 27 for i := range b { 28 b[i] = 0 29 } 30 }