1
0
mirror of https://github.com/golang/go synced 2024-11-25 22:57:58 -07:00

Add exvar.FuncInt for exporting indirect integer variables.

R=r
APPROVED=r
DELTA=21  (21 added, 0 deleted, 0 changed)
OCL=29320
CL=29338
This commit is contained in:
David Symonds 2009-05-24 15:04:43 -07:00
parent bef1a6439d
commit 5a12b1828d
2 changed files with 21 additions and 0 deletions

View File

@ -128,6 +128,14 @@ func (v *String) Set(value string) {
v.s = value;
}
// IntFunc wraps a func() int64 to create a value that satisfies the Var interface.
// The function will be called each time the Var is evaluated.
type IntFunc func() int64;
func (v IntFunc) String() string {
return strconv.Itoa64(v())
}
// All published variables.
var vars map[string] Var = make(map[string] Var);

View File

@ -78,3 +78,16 @@ func TestMapCounter(t *testing.T) {
t.Error("red = %v, want 3", x)
}
}
func TestIntFunc(t *testing.T) {
x := int(4);
ix := IntFunc(func() int64 { return int64(x) });
if s := ix.String(); s != "4" {
t.Errorf("ix.String() = %v, want 4", s);
}
x++;
if s := ix.String(); s != "5" {
t.Errorf("ix.String() = %v, want 5", s);
}
}