package object import "fmt" type Integer struct { Value int64 } func (i *Integer) Type() ObjectType { return INTEGER_OBJ } func (i *Integer) Inspect() string { return fmt.Sprintf("%d", i.Value) } func (i *Integer) Clone() Object { return &Integer{Value: i.Value} } func (i *Integer) String() string { return i.Inspect() } func (i *Integer) Equal(other Object) bool { if obj, ok := other.(*Integer); ok { return i.Value == obj.Value } return false }