return left, right
}
-// Slicing in Slice is done by specifying a half-open range with
+// Slicing in Slicestr is done by specifying a half-open range with
// two indices, start and end. 1 and 4 creates a slice including elements 1 through 3.
// The start and/or end indices can be omitted by setting one or both of them to -1;
// they default to zero and the slice's length respectively
-func Slice(a interface{}, start, end int) (string, error) {
+func Slicestr(a interface{}, start, end int) (string, error) {
aStr, err := cast.ToStringE(a)
if err != nil {
return "", err
"lt": Lt,
"le": Le,
"in": In,
- "slice": Slice,
+ "slicestr": Slicestr,
"split": Split,
"intersect": Intersect,
"isSet": IsSet,
}
}
-func TestSlice(t *testing.T) {
+func TestSlicestr(t *testing.T) {
for i, this := range []struct {
v1 interface{}
v2 int
{123, 1, 3, "23"},
{tstNoStringer{}, 0, 1, false},
} {
- result, err := Slice(this.v1, this.v2, this.v3)
+ result, err := Slicestr(this.v1, this.v2, this.v3)
if b, ok := this.expect.(bool); ok && !b {
if err == nil {