@@ -20,21 +20,14 @@ limitations under the License.
20
20
// replace "stringslices" if the "slices" package becomes standard.
21
21
package slices
22
22
23
+ import goslices "slices"
24
+
23
25
// Equal reports whether two slices are equal: the same length and all
24
26
// elements equal. If the lengths are different, Equal returns false.
25
27
// Otherwise, the elements are compared in index order, and the
26
28
// comparison stops at the first unequal pair.
27
- func Equal (s1 , s2 []string ) bool {
28
- if len (s1 ) != len (s2 ) {
29
- return false
30
- }
31
- for i , n := range s1 {
32
- if n != s2 [i ] {
33
- return false
34
- }
35
- }
36
- return true
37
- }
29
+ // Deprecated: use [slices.Equal] instead.
30
+ var Equal = goslices.Equal [[]string , string ]
38
31
39
32
// Filter appends to d each element e of s for which keep(e) returns true.
40
33
// It returns the modified d. d may be s[:0], in which case the kept
@@ -51,32 +44,14 @@ func Filter(d, s []string, keep func(string) bool) []string {
51
44
}
52
45
53
46
// Contains reports whether v is present in s.
54
- func Contains (s []string , v string ) bool {
55
- return Index (s , v ) >= 0
56
- }
47
+ // Deprecated: use [slices.Contains] instead.
48
+ var Contains = goslices.Contains [[]string , string ]
57
49
58
50
// Index returns the index of the first occurrence of v in s, or -1 if
59
51
// not present.
60
- func Index (s []string , v string ) int {
61
- // "Contains" may be replaced with "Index(s, v) >= 0":
62
- // https://github.com/golang/go/issues/45955#issuecomment-873377947
63
- for i , n := range s {
64
- if n == v {
65
- return i
66
- }
67
- }
68
- return - 1
69
- }
70
-
71
- // Functions below are not in https://github.com/golang/go/issues/45955
52
+ // Deprecated: use [slices.Index] instead.
53
+ var Index = goslices.Index [[]string , string ]
72
54
73
55
// Clone returns a new clone of s.
74
- func Clone (s []string ) []string {
75
- // https://github.com/go101/go101/wiki/There-is-not-a-perfect-way-to-clone-slices-in-Go
76
- if s == nil {
77
- return nil
78
- }
79
- c := make ([]string , len (s ))
80
- copy (c , s )
81
- return c
82
- }
56
+ // Deprecated: use [slices.Clone] instead.
57
+ var Clone = goslices.Clone [[]string , string ]
0 commit comments