golang - random

아래 글은 golang을 공부할 목적으로 웹에서 본 글들을 정리한 것이다.

공식 문서
일어

0 에서 9까지(포함)의 난수 얻기

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

func main() {
    rand.Seed(time.Now().UnixNano())
    for i := 0; i < 10; i++ {
        fmt.Println("My favorite number is", rand.Intn(10))
    }
}

지정된 범위의 난수 없기

func random(min, max int) int {
    rand.Seed(time.Now().Unix())
    return rand.Intn(max - min) + min
}

다른 난수를 생성하여 새로운 Rand 만들기

my_rand := rand.New(rand.NewSource(1))
my_rand.Seed(time.Now().UnixNano())
rand.Intn(10)

복수의 랜덤 객체를 사용해야 하는 경우 위 방식으로 사용한다.


이 글은 2018-11-28에 작성되었습니다.