Backend/꾸준히 TIL
컬럼의 primary key일 때 어떻게 랜덤한 값(고유값)을 나타낼까?
개발하는 후딘
2021. 10. 7. 01:44
728x90
반응형
현재 작성날짜는 time.Now().UTC() 로 나타낼 수 있다.
게시물의 고유키값은 GetMakeID()를 이용하여 고유한 값을 나타낼 수 있다.
func GenerateKey(length int) string {
chars := []rune("ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz" + "0123456789")
var b string.Builder
for i := 0 ; i< length ; i++ {
r := rand.New(rand.Newsource(time.Now().UnixNano()))
b.WriteRune(chars[r.Intn(len(chars))])
}
str := b.String()
return str
}
func GetMakeID(params ...string) string {
now := time.Now()
gk := GenerateKey()
return strings.Join([]string{now.Format("060102150430"), gk}, "")
}
728x90
반응형