【发布时间】:2017-10-23 20:12:16
【问题描述】:
我正在尝试运行这段代码来用随机数替换字符串中的一个字符:
//Get the position between 0 and the length of the string-1 to insert a random number
position := rand.Intn(count - 1)
strings.Replace(RandomString,)
fmt.Println("Going to change the position number: ", position)
//Insert a random number between [0-9] in the position
RandomString = RandomString[:position] + string(rand.Intn(9)) + RandomString[position+1:]
执行此操作时,输出为:
I was going to generate.. ljFsrPaUvmxZFFw
Going to change the position number: 2
Random string: lsrPaUvmxZFFw
谁能帮我把那个数字插入到所需的字符串位置?我没有发现任何重复的案例。
提前致谢。
【问题讨论】:
-
您需要使用
strconv包将rand.Intn(9)转换为实际的字符串值。 -
完成。我怎么不记得了? :facepalm:
-
请记住,在幕后,
string只是[]byte。当您尝试将int转换为string时,它只是获取原始数字2(不是字符)并尝试将其显示为 unicode。 -
是的,需要更多地使用 go 的 unicode 包才能更好地理解这一点,感谢您的快速帮助:)