What is the difference between Go's lazy and eager evaluation of expressions?