Golang : Random Rune generator
Just a quick tutorial on how to generate random runes and add on to previous tutorial on how to generate random string. Useful for generating non-English characters.
Here you go!
package main
import (
"fmt"
"math/rand"
"time"
)
var runes = []rune("一二三四五六七八九十1234567890")
func generateRandomRune(n int) string {
randRune := make([]rune, n)
for i := range randRune {
// without this, the final value will be same all the time.
rand.Seed(time.Now().UnixNano())
randRune[i] = runes[rand.Intn(len(runes))]
}
return string(randRune)
}
func main() {
fmt.Println(generateRandomRune(5))
}
Sample output :
六3十01
p/s : play.golang.org will always show the same random value. You have to test it out on your own machine.
See also : Golang : Count number of runes in string
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+4.9k PHP : How to handle URI or URL with non-ASCII characters such as Chinese/Japanese/Korean(CJK) ?
+17.7k Golang : When to use public and private identifier(variable) and how to make the identifier public or private?
+6.8k Golang : get the current working directory of a running program
+10k Golang : Concatenate (combine) buffer data example
+11.4k Golang : "https://" not allowed in import path
+4.9k Golang : Launching your executable inside a console under Linux
+20.8k Fix "Failed to start php5-fpm.service: Unit php5-fpm.service is masked."
+8.4k Golang : Accessing content anonymously with Tor
+12.9k Golang : Google Drive API upload and rename example
+7.9k Golang : Intercept and compare HTTP response code example
+27.2k Golang : Detect (OS) Operating System
+14.3k Golang : How to convert(cast) IP address to string?