The API surface of some struct is determined by visibility, not by whether a member of the struct is a method or a field.
I can't remember the specifics for why fields cannot be used within a Go interface but I do remember missing it a few times while writing Go code.