我正在尝试创建一个函数来解密来自 qwerty... -> abcdef .... 目前我有func Decrypt(strToDecrypt string) string { encrStrng := []rune(strings.ToLower(strToDecrypt)) var decrStrng string = "" for _, i := range encrStrng { switch encrStrng[i] { case 'q' decrStrng += "a"// not gonna type the rest but its q>a, w>b, etc etc. }}每当我尝试fmt.Println(Decrypt("qwerty"))(在 main 函数 ofc 中)作为测试时,它都会返回 panic: runtime error: index out of range [113] with length 10. 错误出现在 switch 语句中,尤其是。我在这个(特定的)问题上找不到任何东西。
1 回答
偶然的你
TA贡献1841条经验 获得超3个赞
在数组的范围内,第一个值是索引,第二个是元素值。您使用元素值作为索引,以获取元素值。您应该使用索引:
for i := range encrStrng { switch encrStrng[i] {
或使用值:
for _, i := range encrStrng { switch i {
range
包含在Tour of Go中。
- 1 回答
- 0 关注
- 110 浏览
添加回答
举报
0/150
提交
取消