X7ROOT File Manager
Current Path:
/opt/golang/1.19.4/src/strings
opt
/
golang
/
1.19.4
/
src
/
strings
/
📁
..
📄
builder.go
(3.54 KB)
📄
builder_test.go
(7.26 KB)
📄
clone.go
(877 B)
📄
clone_test.go
(1.22 KB)
📄
compare.go
(1.06 KB)
📄
compare_test.go
(2.75 KB)
📄
example_test.go
(9.38 KB)
📄
export_test.go
(1.07 KB)
📄
reader.go
(3.87 KB)
📄
reader_test.go
(5.87 KB)
📄
replace.go
(14.46 KB)
📄
replace_test.go
(14.08 KB)
📄
search.go
(4.19 KB)
📄
search_test.go
(1.88 KB)
📄
strings.go
(28.61 KB)
📄
strings_test.go
(49.48 KB)
Editing: clone_test.go
// Copyright 2021 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file.ß package strings_test import ( "reflect" "strings" "testing" "unsafe" ) var emptyString string func TestClone(t *testing.T) { var cloneTests = []string{ "", strings.Clone(""), strings.Repeat("a", 42)[:0], "short", strings.Repeat("a", 42), } for _, input := range cloneTests { clone := strings.Clone(input) if clone != input { t.Errorf("Clone(%q) = %q; want %q", input, clone, input) } inputHeader := (*reflect.StringHeader)(unsafe.Pointer(&input)) cloneHeader := (*reflect.StringHeader)(unsafe.Pointer(&clone)) if len(input) != 0 && cloneHeader.Data == inputHeader.Data { t.Errorf("Clone(%q) return value should not reference inputs backing memory.", input) } emptyHeader := (*reflect.StringHeader)(unsafe.Pointer(&emptyString)) if len(input) == 0 && cloneHeader.Data != emptyHeader.Data { t.Errorf("Clone(%#v) return value should be equal to empty string.", inputHeader) } } } func BenchmarkClone(b *testing.B) { var str = strings.Repeat("a", 42) b.ReportAllocs() for i := 0; i < b.N; i++ { stringSink = strings.Clone(str) } }
Upload File
Create Folder