Go Program to Find Sum of Digits in a Number

Write a Go Program to Find Sum of Digits in a Number using for loop. The for loop condition make sure the number is greater than zero. Within the loop, 

  • digiReminder = digiNum % 10 – It adds the last digit of a number to digiReminder.
  • digiSum = digiSum + digiReminder -> Adds the last digit to digiSum. 
  • digiNum = digiNum / 10 – It removes the last digit from the digiNum.
package main

import "fmt"

func main() {

    var digiNum, digiSum, digiReminder int

    fmt.Print("Enter the Number to find the Sum of Digits = ")
    fmt.Scanln(&digiNum)

    for digiSum = 0; digiNum > 0; digiNum = digiNum / 10 {
        digiReminder = digiNum % 10
        digiSum = digiSum + digiReminder
    }
    fmt.Println("The Sum of Digits in this Number = ", digiSum)
}
Go Program to Find Sum of Digits in a Number 1

Go Program to find the Sum of digits in a number using a function

package main

import "fmt"

var digiSum int

func digitSum(digiNum int) int {
    var digiReminder int

    for digiSum = 0; digiNum > 0; digiNum = digiNum / 10 {
        digiReminder = digiNum % 10
        digiSum = digiSum + digiReminder
    }
    return digiSum
}

func main() {

    var digiNum int

    fmt.Print("Enter the Number to find the Sum of Digits = ")
    fmt.Scanln(&digiNum)

    digiSum = digitSum(digiNum)
    fmt.Println("The Sum of Digits in this Number = ", digiSum)
}
SureshMac:GoExamples suresh$ go run digitSum2.go
Enter the Number to find the Sum of Digits = 4567
The Sum of Digits in this Number =  22
SureshMac:GoExamples suresh$ go run digitSum2.go
Enter the Number to find the Sum of Digits = 98759
The Sum of Digits in this Number =  38

Golang Program to Calculate Sum Digits in a Number using Recursion In this Golang Program to calculate the sum of digits in a Number, we call digitSum(digiNum/10) function recursively.

package main

import "fmt"

var digiSum int

func digitSum(digiNum int) int {
    digiSum = 0
    if digiNum == 0 {
        return 0
    }
    digiSum = digiNum%10 + digitSum(digiNum/10)
    return digiSum
}

func main() {

    var digiNum int

    fmt.Print("Enter the Number to find the Sum of Digits = ")
    fmt.Scanln(&digiNum)

    digiSum = digitSum(digiNum)
    fmt.Println("The Sum of Digits in this Number = ", digiSum)
}
SureshMac:GoExamples suresh$ go run digitSum3.go
Enter the Number to find the Sum of Digits = 45678
The Sum of Digits in this Number =  30
SureshMac:GoExamples suresh$ go run digitSum3.go
Enter the Number to find the Sum of Digits = 8098603
The Sum of Digits in this Number =  34

About Suresh

Suresh is the founder of TutorialGateway and a freelance software developer. He specialized in Designing and Developing Windows and Web applications. The experience he gained in Programming and BI integration, and reporting tools translates into this blog. You can find him on Facebook or Twitter.