(→개요) |
(→소문자+숫자) |
||
23번째 줄: | 23번째 줄: | ||
func main() { | func main() { | ||
fmt.Println(randomString(8)) // uqhwdb2x | fmt.Println(randomString(8)) // uqhwdb2x | ||
} | |||
</syntaxhighlight> | |||
==대소문자+숫자== | |||
<syntaxhighlight lang='go'> | |||
package main | |||
import ( | |||
"crypto/rand" | |||
"fmt" | |||
) | |||
const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" | |||
func randString(length int) string { | |||
b := make([]byte, length) | |||
if _, err := rand.Read(b); err != nil { | |||
return "" | |||
} | |||
for i := range b { | |||
b[i] = charset[b[i]%byte(len(charset))] | |||
} | |||
return string(b) | |||
} | |||
func main() { | |||
fmt.Println(randString(8)) // 5cKgG2TY | |||
fmt.Println(randString(16)) // ypOmJhqbOqc4vyTt | |||
fmt.Println(randString(32)) // LdHZOt440JQMTskDEVbv72PxhtAwbJGX | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> |
2025년 1월 31일 (금) 13:29 판
1 개요
- Go 랜덤 문자열 생성
2 소문자+숫자
Go
Copy
package main
import (
"fmt"
"math/rand"
"time"
)
func randomString(length int) string {
var letters = []rune("abcdefghijklmnopqrstuvwxyz0123456789")
b := make([]rune, length)
for i := range b {
b[i] = letters[rand.Intn(len(letters))]
}
return string(b)
}
func main() {
fmt.Println(randomString(8)) // uqhwdb2x
}
3 대소문자+숫자
Go
Copy
package main
import (
"crypto/rand"
"fmt"
)
const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
func randString(length int) string {
b := make([]byte, length)
if _, err := rand.Read(b); err != nil {
return ""
}
for i := range b {
b[i] = charset[b[i]%byte(len(charset))]
}
return string(b)
}
func main() {
fmt.Println(randString(8)) // 5cKgG2TY
fmt.Println(randString(16)) // ypOmJhqbOqc4vyTt
fmt.Println(randString(32)) // LdHZOt440JQMTskDEVbv72PxhtAwbJGX
}
4 같이 보기
편집자 Jmnote
로그인하시면 댓글을 쓸 수 있습니다.