Junior — Middle
Vai Go valodā ir iespējams īstenot vai izmantot dinamisko masīvu un kā tas tiek darīts?
sobes.tech AI
Atbilde no AI
Go valodā dinamiskie masīvi tiek īstenoti, izmantojot slices. Slice ir struktūra, kas satur norādi uz masīvu, garumu un kapacitāti, un ļauj dinamiski mainīt izmēru.
Piemērs, kā izveidot un izmantot dinamisku masīvu:
package main
import "fmt"
func main() {
var s []int // tukšs slices
s = append(s, 1) // pievienot elementu
s = append(s, 2, 3) // pievienot vairākus elementus
fmt.Println(s) // [1 2 3]
// Var izveidot slices ar sākotnējo kapacitāti
s2 := make([]int, 0, 5) // garums 0, kapacitāte 5
s2 = append(s2, 10, 20)
fmt.Println(s2) // [10 20]
}
Slices automātiski paplašinās, pievienojot elementus ar append; ja nepieciešams, tiek piešķirts jauns, lielāks masīvs un dati tiek nokopēti.
Tādējādi, Go valodā, dinamiskam masīvam pietiek ar slices un funkciju append.