update unsafe code to user newer-faster-better idioms

This commit is contained in:
David Chase 2023-11-28 11:15:38 -05:00
parent e3d8ed9725
commit 2b845f2615
2 changed files with 20 additions and 2 deletions

View file

@ -1,5 +1,5 @@
//go:build !appengine && !js
// +build !appengine,!js
//go:build !appengine && !js && !go1.21
// +build !appengine,!js,!go1.21
package util

18
util/util_unsafe_go121.go Normal file
View file

@ -0,0 +1,18 @@
//go:build !appengine && !js && go1.21
// +build !appengine,!js,go1.21
package util
import (
"unsafe"
)
// BytesToReadOnlyString returns a string converted from given bytes.
func BytesToReadOnlyString(b []byte) string {
return unsafe.String(unsafe.SliceData(b), len(b))
}
// StringToReadOnlyBytes returns bytes converted from given string.
func StringToReadOnlyBytes(s string) []byte {
return unsafe.Slice(unsafe.StringData(s), len(s))
}