Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Middle — Senior
5
Определение вывода функции printMemStat() при работе со срезами
Условие задачи
Необходимо выяснить, какие значения будет выводить функция printMemStat() на каждой итерации цикла.
func 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)
}