GO_INTERVIEW_LIB Telegram 563
💬 В Go существует возможность скрывать методы с помощью встраивания структур. Как можно сделать так, чтобы метод, реализующий интерфейс, был скрыт при приведении типа, даже если он присутствует у встраиваемой структуры?

Например, есть тип A, который имеет метод Hello(). Когда мы передаём экземпляр A в функцию Greet(), приведение успешно выполнится к интерфейсу Greeter, и будет вызван метод Hello().

Теперь, допустим, мы хотим использовать тип A, но не хотим, чтобы его метод Hello() был доступен. Мы можем скрыть его с помощью embedding.

Когда мы вызываем Greet(ANoHello{A: A{}}), приведение типа к интерфейсу не удаётся.

Хотя ANoHello встраивает тип A, который имеет корректный метод Hello(), приоритет получает неэкспортируемый тип noHello, который скрывает метод Hello().
🤔8👍31😁1



tgoop.com/go_interview_lib/563
Create:
Last Update:

💬 В Go существует возможность скрывать методы с помощью встраивания структур. Как можно сделать так, чтобы метод, реализующий интерфейс, был скрыт при приведении типа, даже если он присутствует у встраиваемой структуры?

Например, есть тип A, который имеет метод Hello(). Когда мы передаём экземпляр A в функцию Greet(), приведение успешно выполнится к интерфейсу Greeter, и будет вызван метод Hello().

Теперь, допустим, мы хотим использовать тип A, но не хотим, чтобы его метод Hello() был доступен. Мы можем скрыть его с помощью embedding.

Когда мы вызываем Greet(ANoHello{A: A{}}), приведение типа к интерфейсу не удаётся.

Хотя ANoHello встраивает тип A, который имеет корректный метод Hello(), приоритет получает неэкспортируемый тип noHello, который скрывает метод Hello().

BY Библиотека Go для собеса | вопросы с собеседований





Share with your friend now:
tgoop.com/go_interview_lib/563

View MORE
Open in Telegram


Telegram News

Date: |

The group’s featured image is of a Pepe frog yelling, often referred to as the “REEEEEEE” meme. Pepe the Frog was created back in 2005 by Matt Furie and has since become an internet symbol for meme culture and “degen” culture. As of Thursday, the SUCK Channel had 34,146 subscribers, with only one message dated August 28, 2020. It was an announcement stating that police had removed all posts on the channel because its content “contravenes the laws of Hong Kong.” The optimal dimension of the avatar on Telegram is 512px by 512px, and it’s recommended to use PNG format to deliver an unpixelated avatar. Ng, who had pleaded not guilty to all charges, had been detained for more than 20 months. His channel was said to have contained around 120 messages and photos that incited others to vandalise pro-government shops and commit criminal damage targeting police stations. How to Create a Private or Public Channel on Telegram?
from us


Telegram Библиотека Go для собеса | вопросы с собеседований
FROM American