[go] go 언어에서의 난수 생성 방법
Go 언어에서는 난수를 생성하기 위해 math/rand
패키지를 사용할 수 있습니다. 해당 패키지를 이용하여 다양한 방법으로 난수를 생성할 수 있습니다.
시드(seed) 설정하기
난수를 생성하기 전에는 시드(seed)를 설정해야 합니다. 시드는 난수 생성 알고리즘의 시작점을 결정하는데, 일반적으로 현재 시간 등을 이용하여 동적으로 설정합니다.
import (
"fmt"
"math/rand"
"time"
)
func main() {
// 현재 시간을 이용하여 시드를 설정
rand.Seed(time.Now().UnixNano())
}
위 예제에서 time.Now().UnixNano()
를 이용하여 현재 시간을 나노초 단위의 정수값으로 변환하고, 이를 시드로 활용합니다.
정수 난수 생성하기
Intn
함수를 이용하여 0 이상 지정한 숫자 미만의 정수 난수를 생성할 수 있습니다.
num := rand.Intn(100) // 0 이상 100 미만의 정수 난수 생성
부동소수점 난수 생성하기
Float64
함수를 이용하여 0.0 이상 1.0 미만의 부동소수점 난수를 생성할 수 있습니다.
num := rand.Float64() // 0.0 이상 1.0 미만의 부동소수점 난수 생성
이처럼 Go 언어에서는 math/rand
패키지를 이용하여 간단하게 다양한 종류의 난수를 생성할 수 있습니다.
관련 문서: math/rand 패키지 - 공식 Go 언어 문서