Можно ли в интерфейсе создать метод с названием, начинающимся с маленькой буквы

«Можно ли в интерфейсе создать метод с названием, начинающимся с маленькой буквы» — вопрос из категории Golang, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, можно. В Go интерфейс может содержать методы с названиями, начинающимися с маленькой буквы, но такие методы будут неэкспортируемыми (private). Они доступны только внутри текущего пакета.

Пример:

type myInterface interface {
    privateMethod() // доступен только в текущем пакете
    PublicMethod()  // экспортируемый метод
}

Однако на практике это редко используется, так как интерфейсы обычно определяют публичное поведение. Неэкспортируемые методы в интерфейсах могут быть полезны для внутреннего тестирования или реализации деталей внутри пакета.