Операции и методы с массивами в Go (Golang) с примерами кода

Массивы в Go — это последовательности элементов одного типа фиксированного размера. Вот некоторые методы и операции, обычно используемые с массивами в Go, а также примеры кода:

  1. Объявление и инициализация:

    var arr [5]int                           // Declaration of an integer array with length 5
    arr := [3]string{"apple", "banana"}
    // Declaration and initialization of a string array with length 3
  2. Доступ к элементам:

    fmt.Println(arr[0])                      // Accessing the first element of the array
    arr[2] = 42                              // Modifying the value of the third element
  3. Длина и вместимость:

    length := len(arr)                       // Getting the length of the array
    capacity := cap(arr)                     // Getting the capacity of the array (same as length for arrays)
  4. Итерация по массиву:

    for i := 0; i < len(arr); i++ {           // Looping through the array using a traditional for loop
       fmt.Println(arr[i])
    }
    for index, value := range arr {          // Looping through the array using range
       fmt.Println(index, value)
    }
  5. Сравнение массивов:

    arr1 := [3]int{1, 2, 3}
    arr2 := [3]int{1, 2, 3}
    equal := arr1 == arr2                    // Comparing if two arrays are equal
  6. Передача массивов в функции:

    func modifyArray(arr *[5]int) {
       // Modify the array
    }
    func main() {
       arr := [5]int{1, 2, 3, 4, 5}
       modifyArray(&arr)                     // Passing the array by reference
       fmt.Println(arr)
    }
  7. Разрез массива:

    slice := arr[1:3]                        // Creating a slice from the array
  8. Сортировка массива:

    sort.Ints(arr[:])                        // Sorting an array of integers in ascending order
  9. Реверс массива:

    for i, j := 0, len(arr)-1; i < j; i, j = i+1, j-1 {
       arr[i], arr[j] = arr[j], arr[i]
    }