Sobes.tech
Junior — Middle

Чӣ миқдор элементҳо ва кадом иқтидор пас аз илова кардани як элемент, агар аввалинда инициализатсия нашуда бошад, хоҳад дошт?

sobes.tech AI

Ҷавоб аз AI

Агар яксоли дар Go оғозаноқ ба таври ибтидоӣ инициализатсия нашуда бошад (яъне, баробар бо nil бошад), ва шумо ба он як унсур бо истифода аз функсияи append илова кунед, пас:

  • Миқдори унсурҳо (len) пас аз илова 1 мешавад.
  • Қобилияти нигоҳдорӣ (cap) вобаста ба татбиқ, аммо одатан бо қобилияти хурд оғоз мешавад, масалан 1 ё 2.

Масалан:

var s []int // nil-слайс
s = append(s, 10)
fmt.Println(len(s)) // 1
fmt.Println(cap(s)) // одатан >= 1

Бинобар ин, вақте ки аввалин унсурро ба nil-слайс дар Go илова мекунед, Go автоматӣ мемориро барои слайси нав бо қобилияти кофӣ барои нигоҳ доштани он таъин мекунад.