diff options
| author | 2025-11-21 08:00:00 +0800 | |
|---|---|---|
| committer | 2025-11-21 08:00:00 +0800 | |
| commit | 1461c840c7ca96e5a17d9fd756def7f43848c22f (patch) | |
| tree | 9df920d5b467ff0ef81e0fbe5a6a09c25c48b166 | |
| parent | Add DiffTrees (diff) | |
| signature | No signature | |
Add stringToBytes/bytesToString
| -rw-r--r-- | unsafe.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/unsafe.go b/unsafe.go new file mode 100644 index 00000000..fac20230 --- /dev/null +++ b/unsafe.go @@ -0,0 +1,17 @@ +package furgit + +import "unsafe" + +// // stringToBytes converts a string to a byte slice without copying the string. +// // Memory is borrowed from the string. +// // The resulting byte slice must not be modified in any form. +// func stringToBytes(s string) (bytes []byte) { +// return unsafe.Slice(unsafe.StringData(s), len(s)) //#nosec G103 +// } + +// bytesToString converts a byte slice to a string without copying the bytes. +// Memory is borrowed from the byte slice. +// The source byte slice must not be modified. +func bytesToString(b []byte) string { + return unsafe.String(unsafe.SliceData(b), len(b)) //#nosec G103 +} |
