Define and satisfy interfaces implicitly, use type assertions and type switches, and keep interfaces focused on caller needs. Apply standard interfaces such as Stringer, Reader, Writer, and error.