1
0
mirror of https://github.com/golang/go synced 2024-11-22 01:54:42 -07:00

IntVector.Do now takes an f(int), and StringVector.Do now takes an f(string).

R=r
CC=golang-dev
https://golang.org/cl/1433041
This commit is contained in:
Michael Hoisie 2010-05-31 14:55:30 -07:00 committed by Rob Pike
parent 8af4acf59d
commit ebb1c8b912
3 changed files with 17 additions and 23 deletions

View File

@ -62,7 +62,7 @@ func (p *Vector) Do(f func(elem interface{})) {
// Do calls function f for each element of the vector, in order.
// The behavior of Do is undefined if f changes *p.
func (p *IntVector) Do(f func(elem interface{})) {
func (p *IntVector) Do(f func(elem int)) {
for _, e := range *p {
f(e)
}
@ -71,7 +71,7 @@ func (p *IntVector) Do(f func(elem interface{})) {
// Do calls function f for each element of the vector, in order.
// The behavior of Do is undefined if f changes *p.
func (p *StringVector) Do(f func(elem interface{})) {
func (p *StringVector) Do(f func(elem string)) {
for _, e := range *p {
f(e)
}

View File

@ -279,9 +279,8 @@ func TestIntDo(t *testing.T) {
a.Set(i, int2IntValue(salt*i))
}
count := 0
a.Do(func(e interface{}) {
i := intf2IntValue(e)
if i != int2IntValue(count*salt) {
a.Do(func(i int) {
if i != count*salt {
t.Error(tname(a), "value at", count, "should be", count*salt, "not", i)
}
count++
@ -295,9 +294,8 @@ func TestIntDo(t *testing.T) {
(*b)[i] = int2IntValue(salt * i)
}
count = 0
b.Do(func(e interface{}) {
i := intf2IntValue(e)
if i != int2IntValue(count*salt) {
b.Do(func(i int) {
if i != count*salt {
t.Error(tname(b), "b) value at", count, "should be", count*salt, "not", i)
}
count++
@ -312,9 +310,8 @@ func TestIntDo(t *testing.T) {
c[i] = int2IntValue(salt * i)
}
count = 0
c.Do(func(e interface{}) {
i := intf2IntValue(e)
if i != int2IntValue(count*salt) {
c.Do(func(i int) {
if i != count*salt {
t.Error(tname(c), "c) value at", count, "should be", count*salt, "not", i)
}
count++

View File

@ -279,10 +279,9 @@ func TestStrDo(t *testing.T) {
a.Set(i, int2StrValue(salt*i))
}
count := 0
a.Do(func(e interface{}) {
i := intf2StrValue(e)
if i != int2StrValue(count*salt) {
t.Error(tname(a), "value at", count, "should be", count*salt, "not", i)
a.Do(func(s string) {
if s != int2StrValue(count*salt) {
t.Error(tname(a), "value at", count, "should be", count*salt, "not", s)
}
count++
})
@ -295,10 +294,9 @@ func TestStrDo(t *testing.T) {
(*b)[i] = int2StrValue(salt * i)
}
count = 0
b.Do(func(e interface{}) {
i := intf2StrValue(e)
if i != int2StrValue(count*salt) {
t.Error(tname(b), "b) value at", count, "should be", count*salt, "not", i)
b.Do(func(s string) {
if s != int2StrValue(count*salt) {
t.Error(tname(b), "b) value at", count, "should be", count*salt, "not", s)
}
count++
})
@ -312,10 +310,9 @@ func TestStrDo(t *testing.T) {
c[i] = int2StrValue(salt * i)
}
count = 0
c.Do(func(e interface{}) {
i := intf2StrValue(e)
if i != int2StrValue(count*salt) {
t.Error(tname(c), "c) value at", count, "should be", count*salt, "not", i)
c.Do(func(s string) {
if s != int2StrValue(count*salt) {
t.Error(tname(c), "c) value at", count, "should be", count*salt, "not", s)
}
count++
})