package object type Null struct{} func (n *Null) Bool() bool { return false } func (n *Null) Type() Type { return NullType } func (n *Null) Inspect() string { return "null" } func (n *Null) String() string { return n.Inspect() } func (n *Null) LogicalNot() Object { return &Boolean{!n.Bool()} } func (n *Null) Compare(other Object) int { if _, ok := other.(*Null); ok { return 0 } return 1 }