長い数字ストリングの一部である数桁の乗算結果を計算しようとしています。ここに私のコードは次のとおりです。= 238140数値ストリング数字を解析する
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
しかし、私のランタイムを取得エラー:
パニック:ランタイムエラー:無効なメモリアドレスまたはゼロポインタ参照 [信号0xc0000005でコード= 0x0のADDR = 0x20のPC = 0x40130e]
ゴルーチン1 [実行]: main.getMult(0x3の、0x534d40 、0x1a、0x4d2701) test.go:25 + 0x17e main.main() test.go:10 + 0x55を 終了ステータス2