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

Практика на обобщения в Go

Дан следующий срез:

words := []string{"go", "rust", "zig"}

Напишите обобщенную функцию первого элемента с широким ограничением, верните первую строку words и выведите ее.

Даны числа:

x := 10 y := 20

Объявите Pair с двумя параметрами типа, верните оба аргумента в обратном порядке для x и y и выведите результат.

Дан следующий срез:

vals := []int{1, 2, 2, 3}

С ограничением сравнения напишите функцию, которая считает, сколько раз заданное значение встречается в срезе, и выведите count для 2 в vals.

Объявите Holder с полем значения типа параметра, запишите "ok" в Holder[string] и выведите поле.

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

type Num interface { int | float64 } func Twice[T Num](v T) T { return v + v }

Выведите результат Twice для 1.5.

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

type Tag int type IntBase interface { ~int } func PrintInt[T IntBase](v T) { fmt.Println(v) }

Передайте Tag со значением 7 в PrintInt и скажите, соберется ли программа.

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