aboutsummaryrefslogtreecommitdiff
path: root/src/internal/stringslite/strings.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/internal/stringslite/strings.go')
-rw-r--r--src/internal/stringslite/strings.go14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/internal/stringslite/strings.go b/src/internal/stringslite/strings.go
index c0c6e2dce5..4114b86130 100644
--- a/src/internal/stringslite/strings.go
+++ b/src/internal/stringslite/strings.go
@@ -8,7 +8,10 @@
// Tests for these functions are in the strings package.
package stringslite
-import "internal/bytealg"
+import (
+ "internal/bytealg"
+ "unsafe"
+)
func HasPrefix(s, prefix string) bool {
return len(s) >= len(prefix) && s[0:len(prefix)] == prefix
@@ -136,3 +139,12 @@ func TrimSuffix(s, suffix string) string {
}
return s
}
+
+func Clone(s string) string {
+ if len(s) == 0 {
+ return ""
+ }
+ b := make([]byte, len(s))
+ copy(b, s)
+ return unsafe.String(&b[0], len(b))
+}