Функция rand.Float32

Функция rand.Float32 генерирует псевдослучайное число типа float32 в полуинтервале [0.0, 1.0). Это означает, что она возвращает значение больше или равное 0.0 и строго меньше 1.0. Функция не принимает никаких параметров и возвращает одно число с плавающей точкой. Для получения случайных чисел с более высокой точностью используйте функцию rand.Float64.

Синтаксис

gorand.Float32()

Пример

Сгенерируем случайное число с плавающей точкой:

gopackage main

import (
  "fmt"
  "math/rand"
  "time"
)

func main() {
  rand.Seed(time.Now().UnixNano())
  res := rand.Float32()
  fmt.Println(res)
}

Результат выполнения кода:

go"0.12345678"

Пример

Сгенерируем несколько случайных чисел в цикле:

gopackage main

import (
  "fmt"
  "math/rand"
  "time"
)

func main() {
  rand.Seed(time.Now().UnixNano())

  for i := 0; i < 5; i++ {
    res := rand.Float32()
    fmt.Println(res)
  }
}

Результат выполнения кода:

go"0.9876543"
"0.45678902"
"0.2345679"
"0.6789012"
"0.345678"

Пример

Получим случайное число в диапазоне от 0 до 100:

gopackage main

import (
  "fmt"
  "math/rand"
  "time"
)

func main() {
  rand.Seed(time.Now().UnixNano())

  res := rand.Float32() * 100
  fmt.Println(res)
}

Результат выполнения кода:

go"42.56789"

Пример

Получим случайное целое число с помощью преобразования:

gopackage main

import (
  "fmt"
  "math/rand"
  "time"
)

func main() {
  rand.Seed(time.Now().UnixNano())

  res := int(rand.Float32() * 10)
  fmt.Println(res)
}

Результат выполнения кода:

go"7"

Смотрите также

  • функцию rand.Float64,
    которая генерирует случайное число с двойной точностью
  • функцию rand.Intn,
    которая генерирует случайное целое число в диапазоне
  • функцию rand.Perm,
    которая возвращает случайную перестановку чисел
  • функцию rand.Shuffle,
    которая перемешивает элементы в случайном порядке