Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goSpGnSt 89 of 280 menu
◀ ▶

Обобщенная структура в Go

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

При создании значения в угловых скобках указывают конкретный тип для поля, либо компилятор выводит его из литерала или присваивания. Один шаблон структуры хранит и число, и строку, и свою структуру.

Опишем контейнер с одним полем. Печатаются 10 и "go":

package main import "fmt" type Box[T any] struct { Value T } func main() { n := Box[int]{Value: 10} s := Box[string]{Value: "go"} fmt.Println(n.Value, s.Value) }

Объявите Cell с одним полем Data типа параметра, запишите 42 в Cell[int] и выведите поле.

Дан следующий код:

type Pair[T any] struct { First T Second T }

Скажите, сколько раз имя параметра типа встречается в полях.

Создайте Box[string] с текстом "ok" без указания типа в угловых скобках, положив литерал в поле, и выведите значение.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить