Один из вопросов, которые любят задавать кандидатам с самого начала собеседования - это "Как реализовано ООП в go?".
Ответ: Сейчас мы не будем вдаваться в то, что такое ООП. Об этом можно почитать на Хабре на других ресурсах. Информации про это великое множество.
На сам вопрос можно ответить, что в go нет классической реализация ООП, так как он не объектно-ориентированный язык. При этом в go есть свои приближения к этой реализации. Сейчас поговорим об этом конкретнее.
@golang_interview
Ответ: Сейчас мы не будем вдаваться в то, что такое ООП. Об этом можно почитать на Хабре на других ресурсах. Информации про это великое множество.
На сам вопрос можно ответить, что в go нет классической реализация ООП, так как он не объектно-ориентированный язык. При этом в go есть свои приближения к этой реализации. Сейчас поговорим об этом конкретнее.
@golang_interview
"Как реализовано наследование?"
Ответ
Как такового наследования в go нет, но при этом у нас есть структуры - это специальные типы, в которые мы можем включать другие типы, в том числе такие же структуры. При этом методы дочерних структур родительская структура также будет наследовать.
Отсюда интервьюер может задать вопрос: "Что будет, если и в родительской и дочерней структуре есть реализация методов с одинаковым названием?" Ответ на этот вопрос такой: "Реализация родительского метода будет переписана реализацией дочернего метода".
@golang_interview
Ответ
Как такового наследования в go нет, но при этом у нас есть структуры - это специальные типы, в которые мы можем включать другие типы, в том числе такие же структуры. При этом методы дочерних структур родительская структура также будет наследовать.
Отсюда интервьюер может задать вопрос: "Что будет, если и в родительской и дочерней структуре есть реализация методов с одинаковым названием?" Ответ на этот вопрос такой: "Реализация родительского метода будет переписана реализацией дочернего метода".
@golang_interview
"Как реализована Инкапсуляция в go?"
Инкапсуляция в go - это возможность задавать переменным, функциям и методам первую букву названия в верхнем или нижнем регистре. Соответственно нижний регистр будет значить, что переменная, функция или метод доступна только в рамках пакета. Тогда как верхний регистр даст доступ к переменной, функции или методу за рамками пакета.
@golang_interview
Инкапсуляция в go - это возможность задавать переменным, функциям и методам первую букву названия в верхнем или нижнем регистре. Соответственно нижний регистр будет значить, что переменная, функция или метод доступна только в рамках пакета. Тогда как верхний регистр даст доступ к переменной, функции или методу за рамками пакета.
@golang_interview