Sobes.tech
Junior — Middle

Мехоҳед шарҳ диҳед, ки чӣ гуна срез (slice) дар барномасозӣ кор мекунад ва чӣ маъно дорад?

sobes.tech AI

Ҷавоб аз AI

Қисм (slice) дар забони Go як қисмати динамикӣ ва тағйирёбанда аз массив аст. Он структураест, ки дорои:

  • ишорагари ба аввалин унсури массив,
  • дарозӣ (суммаи унсурҳо дар қисм),
  • қобилияти нигоҳдории (миқдори максималии унсурҳо, ки қисм метавонад бе такрор ба такрор дохил шавад).

Қисмҳо имкон медиҳанд, ки бо пайдарпайи унсурҳо кор кунем бе ниёз ба нусхабардорӣ кардани маълумот.

Масалан барои эҷод ва истифодаи қисм:

arr := [5]int{1, 2, 3, 4, 5}
slice := arr[1:4] // қисм аз унсурҳои бо индексҳои 1,2,3
fmt.Println(slice) // [2 3 4]

slice = append(slice, 6) // илова кардани унсур, дар ҳолати зарурӣ ёдгории нав таъин мешавад
fmt.Println(slice) // [2 3 4 6]

Қисмҳо барои он қулайанд, ки метавонанд аз қисмҳои мавҷудаи дигар эҷод шаванд, андозаи онҳоро тағйир дод ва ба функсияҳо бе нусхабардорӣ кардани тамоми массив гузаранд.