Привет! Сегодня я хочу поделиться с вами своим опытом по заполнению массива уникальными случайными числами в языке программирования Golang. Эта задача может показаться простой, но есть несколько тонкостей, которые могут возникнуть при решении этой задачи. Я покажу вам, как я справился с ними.Первым шагом я объявляю и создаю пустой массив нужного размера. Для примера давайте представим, что мы хотим заполнить массив из 10 элементов⁚
go
package main
import (
″fmt″
″math/rand»
″time″
)
func main {
rand.Seed(time.Now.UnixNano)
size ⁚ 10
arr ⁚ make([]int, size)
// Здесь появится код
}
Затем мы вызываем `rand.Seed(time.Now.UnixNano)`, чтобы генератор случайных чисел использовал разные значения при каждом запуске программы. Это позволяет нам генерировать новую последовательность случайных чисел каждый раз.Теперь, когда у нас есть пустой массив, мы можем заполнить его уникальными случайными числами. Но есть одна вещь, которую нужно помнить⁚ случайные числа могут повторяться. Чтобы избежать повторений, я использую цикл `for` и проверяю, есть ли новое сгенерированное число уже в массиве. Если оно уже есть, я генерирую новое число, пока не получу уникальное.go
for i ⁚ 0; i < size; i {
unique ⁚ false
var num int
for !unique {
num rand.Intn(size)
unique true
for j ⁚ 0; j < i; j {
if arr[j] num {
unique false
break
}
}
}
arr[i] num
}
Внутри внешнего цикла `for` объявляется переменная `unique`, которая отвечает за проверку уникальности случайного числа. Внутри этого цикла мы генерируем новое случайное число с помощью `rand.Intn(size)` и проверяем, есть ли оно уже в массиве. Если число уже есть, `unique` устанавливается в `false` и происходит внутренний цикл `for`, который проверяет, есть ли такое число уже в массиве. Если оно есть, генерируется новое число и процесс повторяется до тех пор, пока не будет получено уникальное число.Когда у нас есть уникальное число, оно присваивается элементу массива `arr[i]`.Вот и всё! Теперь у нас есть заполненный массив уникальными случайными числами. Давайте выведем его на экран, чтобы в этом убедиться⁚
go
for i ⁚ 0; i < size; i { fmt.Println(arr[i]) } Если вы запустите эту программу, вы увидите, что массив будет заполнен уникальными случайными числами от 0 до 9. Я надеюсь, что эта статья была полезной и помогла вам заполнить массив уникальными случайными числами в Golang. Удачи вам в ваших программистских начинаниях!