Go

Generics

Type parameters, constraints, comparable, any, генеричні функції, генеричні типи, виведення типів

20 питань зі співбесід·
Senior
1

Що таке type parameter у Go?

Відповідь

Type parameter — це змінна типу, що використовується у визначеннях генеричних функцій або типів і оголошується у квадратних дужках. Вона дозволяє писати повторно використовуваний код, який працює з різними типами без жертви type safety. Type parameter інстанціюються конкретними type argument під час використання, що дозволяє компілятору перевіряти узгодженість типів під час компіляції, а не під час виконання.

2

Який правильний синтаксис для оголошення простої генеричної функції?

Відповідь

Правильний синтаксис для оголошення генеричної функції використовує квадратні дужки одразу після імені функції для визначення type parameter. Constraint any дозволяє приймати будь-який тип, подібно до interface{}, але з чіткішою семантикою в контексті generics. Цей синтаксис був представлений у Go 1.18, щоб уможливити генеричне програмування, зберігаючи простоту мови.

3

Що представляє constraint 'any' у Go?

Відповідь

Constraint any — це псевдонім для interface{}, який представляє множину всіх можливих типів у Go. Він дозволяє type parameter приймати будь-який тип без обмежень, забезпечуючи максимальну гнучкість. Хоча це зручно, використання any означає відмову від специфічної перевірки типів і часто вимагає type assertion для доступу до методів чи властивостей базового типу.

4

У чому головна різниця між 'any' і 'comparable' як constraint?

5

Як оголосити користувацький генеричний тип на кшталт stack?

+17 питань зі співбесід

Опануй Go для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно