Golang에서 고정 길이의 임의 문자열 생성
Jay Singh
2022년8월26일
다양한 알고리즘은 특정 길이의 임의 문자열을 생성해야 합니다. 이 기사에서는 다양한 방법으로 Golang에서 고정 길이의 임의 문자열을 생성하는 방법을 보여줍니다.
math/rand
를 사용하여 Golang에서 고정 길이의 임의 문자열 생성
Go의 math/rand
패키지는 의사 난수 생성을 제공합니다. 이 예제에서 패키지를 사용하고 고정 길이 문자열의 출력을 수신하기 위해 임의의 문자열을 전달합니다.
package main
import (
"fmt"
"math/rand"
)
func main() {
fmt.Println(RandomString(30))
}
func RandomString(n int) string {
var letterRunes = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
b := make([]rune, n)
for i := range b {
b[i] = letterRunes[rand.Intn(len(letterRunes))]
}
return string(b)
}
출력:
XVlBzgbaiCMRAjWwhTHctcuAxhxKQF
다른 예를 들어, 이 메서드는 각 문자가 포함된 문자열을 수락하고 그 중에서 무작위로 문자를 선택하여 문자열을 생성합니다.
package main
import (
"fmt"
"math/rand"
)
func RandomString(n int) string {
var letters = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
s := make([]rune, n)
for i := range s {
s[i] = letters[rand.Intn(len(letters))]
}
return string(s)
}
func main() {
fmt.Println(RandomString(13))
}
출력:
BpLnfgDsc2WD8
Golang에서 고정 길이 문자열을 생성하는 방법을 완전히 이해하기 위해 마지막 예를 들어보겠습니다.
package main
import (
"fmt"
"math/rand"
)
func main() {
fmt.Println("Random String")
fmt.Println()
fmt.Println("11 chars: " + RandomString(11))
fmt.Println("20 chars: " + RandomString(20))
fmt.Println("32 chars: " + RandomString(32))
}
func RandomString(n int) string {
var letter = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
b := make([]rune, n)
for i := range b {
b[i] = letter[rand.Intn(len(letter))]
}
return string(b)
}
출력:
Random String
11 chars: BpLnfgDsc2W
20 chars: D8F2qNfHK5a84jjJkwzD
32 chars: kh9h2fhfUVuS9jZ8uVbhV3vC5AWX39IV