Я пытаюсь вычислить результат умножения нескольких цифр, которые являются частью длинной строки цифр. Вот мой код:Номер строки с номером строки
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
Но я получить время выполнения ошибка:
паника: ошибка во время выполнения: неверный адрес памяти или нулевой указатель разыменования [сигнал 0xc0000005 кода = 0x0 адр = 0x20 шт = 0x40130e]
goroutine 1 [работает]: main.getMult (0x3, 0x534d40 , 0x1a, 0x4d2701) test.go: 25 + 0x17e main.main() test.go: 10 + 0х55 статус выхода 2