为了账号安全,请及时绑定邮箱和手机立即绑定

索引超出范围 [113],长度为 10

索引超出范围 [113],长度为 10

Go
HUX布斯 2022-10-17 10:23:10
我正在尝试创建一个函数来解密来自 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中。


查看完整回答
反对 回复 2022-10-17
  • 1 回答
  • 0 关注
  • 110 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信