Sobes.tech
Junior — Middle

Go-da dilimləri düzgün yaratmaq və başlatmaq necədir?

sobes.tech Süni İntellekt

AI-dan cavab

Go dilində, dilimlər (slices) dinamik məlumat strukturlarıdır və onlar uzunluğu və tutumu göstərilən bir massivə istinad edir.

Dilimlər müxtəlif üsullarla yaradılıb və başlatıla bilər:

  1. Başlanğıc olmadan dilim elan etmək (nil-dilim):
var s []int // nil-dilim, uzunluğu və tutumu 0
  1. Literal istifadə edərək dilim başlatmaq:
s := []int{1, 2, 3} // uzunluğu 3 olan dilim
  1. make funksiyası ilə dilim yaratmaq:
s := make([]int, 5) // uzunluğu 5 olan, sıfırlarla doldurulmuş dilim
s2 := make([]int, 3, 10) // uzunluğu 3, tutumu 10

make funksiyası arxa planda massiv ayırır və ona işarə edən dilim qaytarır.

  1. Massivdən dilim yaratmaq:
arr := [5]int{1, 2, 3, 4, 5}
s := arr[1:4] // indeksləri 1,2,3 olan elementlərin dilimi

Dilimlərin massivlərə istinad etdiyini və dilimdəki elementləri dəyişdirmək orijinal massivi də dəyişdiyini unutmayın.

İstifadə nümunəsi:

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
}

Bu yanaşma Go-da dinamik massivlərlə səmərəli işləməyə imkan verir.