Remove superfluous field
Use an empty struct for sentinel values in channels

It has one less degree of freedom than a bool.
Remove bogus self-assignment
Use more idiomatic upcase URL in variable name
gofmt
Use shorter/less noisy nil slice declaration
Rely on return label instead of redundant branching

A matter of taste, but Go's idiom is to drop the else.