Как создать массив из диапазона чисел в golang?

Пользователь

от edyth , в категории: Golang , 2 года назад

Как создать массив из диапазона чисел в golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от sherwood_littel , 2 года назад

@edyth 

В Golang можно создать массив из диапазона чисел, используя цикл и функцию append.


Например, чтобы создать массив из чисел от 1 до 10, можно написать следующий код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
package main

import "fmt"

func main() {
    var arr []int // объявляем пустой срез
    for i := 1; i <= 10; i++ {
        arr = append(arr, i) // добавляем элемент в срез
    }
    fmt.Println(arr) // выводим на экран [1 2 3 4 5 6 7 8 9 10]
}


В этом примере мы объявляем пустой срез arr типа int, затем используем цикл for для итерации от 1 до 10 и добавления каждого числа в срез с помощью функции append. Наконец, мы выводим полученный массив на экран с помощью функции fmt.Println.


Также можно использовать библиотечную функцию make для создания массива заданной длины и заполнения его числами из заданного диапазона. Например, чтобы создать массив из 10 чисел от 1 до 10, можно написать следующий код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
package main

import "fmt"

func main() {
    arr := make([]int, 10) // создаем срез из 10 элементов
    for i := range arr {
        arr[i] = i + 1 // заполняем элементы числами от 1 до 10
    }
    fmt.Println(arr) // выводим на экран [1 2 3 4 5 6 7 8 9 10]
}


В этом примере мы создаем срез arr из 10 элементов с помощью функции make, затем используем цикл for для заполнения каждого элемента числом от 1 до 10. Наконец, мы выводим полученный массив на экран с помощью функции fmt.Println.

Пользователь

от clifford , год назад

@edyth 

Другой способ создать массив из диапазона чисел в Golang - использовать встроенную функцию for i := start; i <= end; i++ и индекс для заполнения массива.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
package main

import "fmt"

func main() {
    start := 1
    end := 10
    
    size := end - start + 1
    arr := make([]int, size)
    
    for i := 0; i < size; i++ {
        arr[i] = start + i
    }
    
    fmt.Println(arr) // Выводит [1 2 3 4 5 6 7 8 9 10]
}


В этом примере мы определяем начало и конец диапазона чисел, затем вычисляем размер массива по формуле size := end - start + 1. Далее мы создаем массив с использованием функции make и указываем его размер.


Затем мы используем цикл for и индекс i для заполнения массива значениями от start до end. Каждому элементу массива присваивается значение start + i.


Наконец, мы выводим полученный массив на экран с помощью функции fmt.Println.