copy of a string or a byte array.
strings.Repeat("-", 50)
bytes.Repeat(b, 99)
R=rsc
https://golang.org/cl/155063
return b[0:nbytes];
}
+// Repeat returns a new byte array consisting of count copies of b.
+func Repeat(b []byte, count int) []byte {
+ nb := make([]byte, len(b)*count);
+ bp := 0;
+ for i := 0; i < count; i++ {
+ for j := 0; j < len(b); j++ {
+ nb[bp] = b[j];
+ bp++;
+ }
+ }
+ return nb;
+}
+
// ToUpper returns a copy of the byte array s with all Unicode letters mapped to their upper case.
func ToUpper(s []byte) []byte { return Map(unicode.ToUpper, s) }
}
}
}
+
+type RepeatTest struct {
+ in, out string;
+ count int;
+}
+
+var RepeatTests = []RepeatTest{
+ RepeatTest{"", "", 0},
+ RepeatTest{"", "", 1},
+ RepeatTest{"", "", 2},
+ RepeatTest{"-", "", 0},
+ RepeatTest{"-", "-", 1},
+ RepeatTest{"-", "----------", 10},
+ RepeatTest{"abc ", "abc abc abc ", 3},
+}
+
+func TestRepeat(t *testing.T) {
+ for _, tt := range RepeatTests {
+ tin := strings.Bytes(tt.in);
+ tout := strings.Bytes(tt.out);
+ a := Repeat(tin, tt.count);
+ if !Equal(a, tout) {
+ t.Errorf("Repeat(%q, %d) = %q; want %q", tin, tt.count, a, tout);
+ continue;
+ }
+ }
+}
return string(b[0:nbytes]);
}
+// Repeat returns a new string consisting of count copies of the string s.
+func Repeat(s string, count int) string {
+ b := make([]byte, len(s)*count);
+ bp := 0;
+ for i := 0; i < count; i++ {
+ for j := 0; j < len(s); j++ {
+ b[bp] = s[j];
+ bp++;
+ }
+ }
+ return string(b);
+}
+
+
// ToUpper returns a copy of the string s with all Unicode letters mapped to their upper case.
func ToUpper(s string) string { return Map(unicode.ToUpper, s) }
}
*/
}
+
+type RepeatTest struct {
+ in, out string;
+ count int;
+}
+
+var RepeatTests = []RepeatTest{
+ RepeatTest{"", "", 0},
+ RepeatTest{"", "", 1},
+ RepeatTest{"", "", 2},
+ RepeatTest{"-", "", 0},
+ RepeatTest{"-", "-", 1},
+ RepeatTest{"-", "----------", 10},
+ RepeatTest{"abc ", "abc abc abc ", 3},
+}
+
+func TestRepeat(t *testing.T) {
+ for _, tt := range RepeatTests {
+ a := Repeat(tt.in, tt.count);
+ if !equal("Repeat(s)", a, tt.out, t) {
+ t.Errorf("Repeat(%v, %d) = %v; want %v", tt.in, tt.count, a, tt.out);
+ continue;
+ }
+ }
+}