Sobes.tech
Junior — Middle

Эгер алгач бошотулса, анда 10 элемент кошулса, слайсдин узундугу жана сыйымдуулугу эмне болот?

sobes.tech AI

AIден жооп

Эгерде сизде Goда бош слайс болсо (узундук жана сыйымдуулук 0), жана сиз ага append функциясы менен 10 элемент кошсоңуз:

  • Слайстын узундугу 10 болот — кошулган элементтердин саны.
  • Слайстын сыйымдуулугу автоматтык түрдө көбөйөт, көбүнчө резерв менен, эс тутумдун көп кайталанган бөлүштүрүлүшүн алдын алуу үчүн. Так сыйымдуулук ишке ашырылышына жараша болот, бирок көбүнчө 16 же андан көп болот, жаңы элементтерди жайгаштыруу жана келечектеги кошуулар үчүн резерв түзүү үчүн.

Мисал:

var s []int // бош слайс
s = append(s, make([]int, 10)...) // 10 элемент кошуу
fmt.Println(len(s)) // 10
fmt.Println(cap(s)) // >=10, көбүнчө 16 же 20

Мындайча айтканда, сыйымдуулук динамикалык түрдө өсүп, слайс өсүп жатканда эс тутумду эффективдүү башкарууга мүмкүндүк берет.