Sobes.tech
Назад к вопросам
Intern
3

Что выведет программа при выполнении? package main import "fmt" func main() { s := make([]int, 0, 3) m := map[string]int{"a": 1, "b": 2} for i := 0; i < 5; i++ { s = append(s, i) } fmt.Println(len(s), cap(s)) if v, ok := m["c"]; ok { fmt.Println(v) } else { fmt.Println("нет ключа") } }

Компании, где спрашивали
AvitoAvito

Ответ от нейросети

sobes.tech AI

Программа создаёт срез s с длиной 0 и ёмкостью 3, затем добавляет в него 5 элементов (0,1,2,3,4). При добавлении элементов срез автоматически расширяется, если превышается ёмкость.

После цикла:

  • len(s) будет 5 (число элементов)
  • cap(s) будет 6, так как при превышении ёмкости среза она обычно удваивается (с 3 до 6)

Далее программа пытается получить значение по ключу "c" из мапы m. Такого ключа нет, поэтому ok будет false и выведется "нет ключа".

Итоговый вывод:

5 6
нет ключа