Эйч
Эйч
  • Все менторы
Задачи/Go-разработчик/Удержание памяти срезами

Удержание памяти срезами

Условие задачи

Нужно определить, что именно будет выведено функцией printMemStat() на каждой итерации цикла

gofunc main() {
  slices()
}

func slices() {
  s := getSubSlice()
  printMemStat()

  all := make([][]int, 0)
  all = append(all, s)

  for i := 1; i < 10; i++ {
    s2 := getSubSlice()
    runtime.GC()
    printMemStat()

    all = append(all, s2)
  }

  runtime.GC()
  printMemStat()

  fmt.Println(all)
}

func getSubSlice() []int {
  s := make([]int, 1_000_000)
  return s[999_999:]
}

func printMemStat() {
  var m runtime.MemStats
  runtime.ReadMemStats(&m)
  fmt.Println(m.Alloc / 1024 / 1024)
}

Профессия

Go-разработчик

Сопроводим до оффера

Умножим шансы на каждом этапе поиска и поможем получить выгодный оффер

Узнать больше

Сервис развития карьеры

Контактыteam@h.careers@hcareers
TelegramVKYouTubeLinkedIn
Профессии
Компания
С чем помогаемОтзывыВопросы и ответыСертификатыВебинарыСтать ментором

Платформа принадлежит ООО "Эйч Карьера"
ИНН 9710095807 ОГРН 1227700077340
Адрес: 127006, город Москва, Старопименовский пер, д. 18 стр. 2, помещ./ком./этаж I/19/2

Copyright © 2020-2025 Сервис развития карьеры Эйч. Все права защищены.

Политика конфиденциальностиПользовательское соглашениеОферта