nonexported
Nonexported is a term used in modular programming to describe identifiers (such as functions, types, constants, or variables) that are defined within a module or package but are not exposed to code outside that module. Non-exported identifiers are considered internal implementation details and are not part of the module’s public API. The distinction between exported and non-exported members helps enforce encapsulation, allowing the module to evolve its internal structure without breaking users who rely on the public interface.
Go uses a simple convention: identifiers that begin with a lowercase letter are unexported, while those that
Use of non-exported members supports interface stability, security, and maintainability by hiding implementation details such as
Changing a non-exported member to exported can be a backward-incompatible change if it reveals new behavior;