Golang

[Golang] 난수 생성 math/rand 패키지 사용법

CHERMINI 2023. 2. 23.

[Golang] 난수 생성 math/rand 패키지 사용법 

Go의 패키지 math/rand는 유사 난수 생성을 위한 일련의 함수를 제공합니다.

math/randGo에서 패키지를 사용하는 단계는 다음과 같습니다 .

 

math/rand 패키지를 가져옵니다 

import "math/rand"

 

난수 시드 생성

rand.Seed(time.Now().UnixNano())

이 Seed 함수는 생성기의 초기값을 설정합니다.

생성된 일련의 숫자를 완전히 무작위로 만들기 위해 일반적으로 time.Now().UnixNano( ) 함수를 사용하여 현재 시간을 시드합니다.

 

난수 생성

math/rand 패키지는 다양한 유형의 난수를 생성하는 여러 기능을 제공합니다. 몇 가지 예는 다음과 같습니다.

  • 0과 n 사이의 임의의 정수를 생성합니다 (n은 제외)
rand.Intn(n)
  • 0.0과 1.0(제외) 사이의 임의의 float64를 생성합니다.
rand.Float64()
  • 임의의 부울 값을 생성합니다.
rand.Bool()
  • n 정수의 임의 순열을 생성합니다.
rand.Perm(n)
  • 요소 조각 섞기
rand.Shuffle(len(slice), func(i, j int) { slice[i], slice[j] = slice[j], slice[i] })

 

참고: 이 math/rand패키지는 결정론적 알고리즘을 기반으로 하므로 진정한 난수를 생성하는 데 적합하지 않습니다. 

진정한 난수가 필요한 경우 crypto/rand와 같은 암호화 난수 생성기를 사용하는 것이 좋습니다.

댓글

💲 추천 글