我不知道为什么这段代码总是切片超出范围:
parts := make([]string, 0, len(encodedCode)/4)
for i := 0; i < len(encodedCode); i += 4 {
parts = append(parts, encodedCode[i:4])
}
encodedCode
是长度始终乘以4的字符串。这意味着encodedCode[i:4]
永远不会超出界限。
答案 0 :(得分:5)
切片是[idx_start:idx_end + 1],而不是[idx_start:length]
试试这个。
parts := make([]string, 0, len(encodedCode)/4)
for i := 0; i < len(encodedCode); i += 4 {
parts = append(parts, encodedCode[i:i+4])
}