Sobes.tech
Junior — Middle

Ի՞նչ է նշանակում capacity հատկությունը Go-ի slice-ում, եթե այն ստեղծելիս բացահայտորեն նշված չէ։

sobes.tech AI

Պատասխան AI-ից

Go-ում սլայսը կառուցվածք է, որը պարունակում է ցուցիչ զանգվածի վրա, երկարություն (len) և կարողություն (capacity):

Եթե սլայսի ստեղծման ժամանակ կարողությունը բացահայտորեն նշված չէ, այն սահմանվում է որպես սլայսի երկարություն: Կարողությունը ցույց է տալիս, թե քանի տարր կարող է տեղավորվել սլայսում առանց նոր հիշողություն հատկացնել:

Օրինակ՝

s := make([]int, 3) // len=3, cap=3

Այստեղ կարողությունը հավասար է 3-ին, քանի որ առանձին նշված չէ:

Եթե կարողությունը մեծ է երկարությունից, ապա սլայսը կարող է ընդլայնվել մինչև կարողությունը առանց նոր զանգվածի հատկացման: