# How to count the number of digits in an integer| Go by Examples

This example covers two programs to count the number of digits in an integer.

• the first program uses the iterative function,
• The second program uses the Recursive function.

Consequently, Both are used to implement digit count for a given number.

you should be familiar with the following Go language features for this program.

The below code writes to read an integer value from a user keyboard and find the number of digits.

For example, if a user inputs 245 as a number, the result of this program is 3.

## #How to get the count digit in an integer using an iterative function golang

Here is a step-by-step.

• The program reads an integer from the user console and stores it in a variable number.
• The For Loop is used to iterate through all the digits until the condition (number!= 0) is false, i.e. number=0.

For Input number=456, the `Iteration` function executes the sequence of steps.

• Once the First Iteration of for loop is complete, the number will be 45 and the count is incremented by 1, count=1.
• After the second iteration is completed, the number will be 4, and the count is incremented by 1 ie count=2.
• After the third iteration is completed, a number will be 0, and the count is incremented by 1 ie count=3.
• For loop condition expression is evaluated to false(number=0), For loop is terminated.
• the count is returned to the main function

Finally, a count is printed to the console using the `Println` function in the main function.

``````package main

import "fmt"

func iterativeDigitsCount(number int) int {
count: = 0
for number != 0 {
number /= 10
count += 1
}
return count

}
func main() {
number: = 0
fmt.Print("Please enter number: ")
fmt.Scanln( & number)
fmt.Printf("Digits count of %d is %d", number, iterativeDigitsCount(number))

}
``````

When you run the above program, the Output is

``````Please enter number: 456
Digits count of 456 is 3
Please enter the number: 2
A digits count of 2 is 1
``````

## #How to count the number of digits of an integer using the Recursive function Golang

A `recursive` function is a function that calls inside the same function.

Here is a recursive Function execution flow for the given input number=2546.

``````recursionCountDigits(2546)
\-- 1+ recursionCountDigits(254)
-- 2+ recursionCountDigits(25)
-- 3+ recursionCountDigits(2)
-- 3+ 1 returns 4 to the main function
``````

Following is an example of a Recursive function to count the number of digits of a number

``````package main

import "fmt"

func main() {
number: = 0
fmt.Print("Please enter number: ")
fmt.Scanln( & number)
fmt.Printf("Digits count of %d is %d", number, recursionCountDigits(number))

}

func recursionCountDigits(number int) int {
if number < 10 {
return 1
} else {
return 1 + recursionCountDigits(number / 10)
}
}
``````

Output is

``````Please enter number: 2546
Digits count of 2546 is 4

Please enter number: 456789
Digits count of 456789 is 6

``````

## #Conclusion

Learn how to calculate the digit count in a given integer number in the golang program using iterative and recursive functions.