我想計算幾個數字是長數字字符串的一部分的乘法結果。這裏是我的代碼:解析數字符串數字
package main
import (
"fmt"
"strconv"
)
func main() {
inputNum := "73167176531330624919225119"
mult := getMult(3, inputNum)
fmt.Printf("Mult = %d", mult)
}
func getMult(startIndex int, inputNum string) int {
mult := 0
for i := 0; i < 10; i++ {
digit, err := strconv.Atoi(string(inputNum[startIndex+i]))
if err != nil {
mult *= int(digit)
} else {
fmt.Printf("Error converting %s to int : %s\n", string(inputNum[startIndex+i]), err.Error())
}
}
return mult
}
我想要得到的結果是6 * 7 * 1 * 7 * 6 * 5 * 3 * 1 * 3 * 3 = 238140
但是我的得到一個運行時錯誤:
恐慌:運行時錯誤:無效的內存地址或零指針引用 [信號0000005代碼爲0x0 = ADDR = 0x20的PC = 0x40130e]
夠程1 [運行]: main.getMult段(0x3,0x534d40 ,0x1a,0x4d2701) test.go:25 + 0x17e main.main() test.go:10 + 0x55的 退出狀態2