Junior — Middle
Kā pareizi izveidot un inicializēt slices Go valodā?
sobes.tech AI
Atbilde no AI
Go valodā, šķēlumi (slices) ir dinamiskas datu struktūras, kas norāda uz masīvu ar noteiktu garumu un kapacitāti.
Šķēlumi var tikt izveidoti un inicializēti dažādos veidos:
- Deklarācija bez inicializācijas (null šķēlums):
var s []int // null šķēlums, garums un kapacitāte 0
- Ar literal palīdzību inicializēts šķēlums:
s := []int{1, 2, 3} // garums 3
- Izveido ar funkciju make:
s := make([]int, 5) // garums 5, aizpildīts ar nullēm
s2 := make([]int, 3, 10) // garums 3, kapacitāte 10
make funkcija rezervē masīvu fonā un atgriež norādi uz to.
- Izveido no masīva:
arr := [5]int{1, 2, 3, 4, 5}
s := arr[1:4] // elementu ar indeksiem 1,2,3 šķēlums
Svarīgi atcerēties, ka šķēlumi ir norādes uz masīviem, tāpēc izmaiņas šķēluma elementos ietekmē arī oriģinālo masīvu.
Piemērs:
package main
import "fmt"
func main() {
s := make([]int, 3, 5)
fmt.Println(s) // [0 0 0]
fmt.Println(len(s)) // 3
fmt.Println(cap(s)) // 5
s = append(s, 4, 5)
fmt.Println(s) // [0 0 0 4 5]
fmt.Println(len(s)) // 5
fmt.Println(cap(s)) // 5
}
Šis pieeja ļauj efektīvi strādāt ar dinamiskajiem masīviem Go valodā.