What is the difference between Go's implicit and explicit implementation of interfaces?