diff options
Diffstat (limited to 'vendor/github.com/gin-gonic/gin/internal/bytesconv')
-rw-r--r-- | vendor/github.com/gin-gonic/gin/internal/bytesconv/bytesconv_1.19.go (renamed from vendor/github.com/gin-gonic/gin/internal/bytesconv/bytesconv.go) | 2 | ||||
-rw-r--r-- | vendor/github.com/gin-gonic/gin/internal/bytesconv/bytesconv_1.20.go | 23 |
2 files changed, 25 insertions, 0 deletions
diff --git a/vendor/github.com/gin-gonic/gin/internal/bytesconv/bytesconv.go b/vendor/github.com/gin-gonic/gin/internal/bytesconv/bytesconv_1.19.go index 86e4c4d44..669c9c914 100644 --- a/vendor/github.com/gin-gonic/gin/internal/bytesconv/bytesconv.go +++ b/vendor/github.com/gin-gonic/gin/internal/bytesconv/bytesconv_1.19.go @@ -2,6 +2,8 @@ // Use of this source code is governed by a MIT style // license that can be found in the LICENSE file. +//go:build !go1.20 + package bytesconv import ( diff --git a/vendor/github.com/gin-gonic/gin/internal/bytesconv/bytesconv_1.20.go b/vendor/github.com/gin-gonic/gin/internal/bytesconv/bytesconv_1.20.go new file mode 100644 index 000000000..5b6040a6b --- /dev/null +++ b/vendor/github.com/gin-gonic/gin/internal/bytesconv/bytesconv_1.20.go @@ -0,0 +1,23 @@ +// Copyright 2023 Gin Core Team. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +//go:build go1.20 + +package bytesconv + +import ( + "unsafe" +) + +// StringToBytes converts string to byte slice without a memory allocation. +// For more details, see https://github.com/golang/go/issues/53003#issuecomment-1140276077. +func StringToBytes(s string) []byte { + return unsafe.Slice(unsafe.StringData(s), len(s)) +} + +// BytesToString converts byte slice to string without a memory allocation. +// For more details, see https://github.com/golang/go/issues/53003#issuecomment-1140276077. +func BytesToString(b []byte) string { + return unsafe.String(unsafe.SliceData(b), len(b)) +} |