Golang Program to make a Simple Calculator using Switch Case

In this tutorial we will see how to make a simple calculator using switch case statements in Go programming language.

The switch statement will assess an expression, comparing the expression's value against a series of case conditions given in a series and executes the statement after the first condition with a matching value, until a break is encountered.

Golang Basic switch case with default

  • A switch statement runs the first case equal to the choice entered.

  • The cases are evaluated in an order and it stops when a case succeeds.

  • If no case (choice entered) matches, it is a default case and its statements are executed.

How to make a simple calculator using switch case in

Syntax

switch expression {
   case 1:
   // code block 1
	
   case 2:
   // code block 2
	
   ...
   ...
   default:
   // default code block
}

Algorithm

  • Step 1 ? Import the package fmt

  • Step 2 ? Start function main()

  • Step 3 ? Declare and initialize the variables

  • Step 4 ? Create the switch case statement

  • Step 5 ? Print the result using built-in function fmt.Println()

Example

Shows how to make a simple calculator using switch case in golang program

<div class="execute"></div><div class="code-mirror  language-java" contenteditable="plaintext-only" spellcheck="false" style="outline: none; overflow-wrap: break-word; overflow-y: auto; white-space: pre-wrap;"><span class="token comment">// Golang program to make a Simple</span>
<span class="token comment">// Calculator using Switch Case</span>
<span class="token keyword">package</span> <span class="token namespace">main</span>

<span class="token comment">// fmt package provides the function to print anything</span>
<span class="token keyword">import</span> <span class="token string">"fmt"</span>

<span class="token comment">// start the main() function</span>
func <span class="token function">main</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>

   <span class="token comment">// Declare amd initialize the variables</span>
   <span class="token keyword">var</span> number1 <span class="token keyword">int</span><span class="token operator">=</span><span class="token number">20</span>
   <span class="token keyword">var</span> number2 <span class="token keyword">int</span><span class="token operator">=</span><span class="token number">10</span>
   <span class="token keyword">var</span> choice <span class="token keyword">int</span> <span class="token operator">=</span> <span class="token number">0</span> 
	
   <span class="token comment">// choice of the input calculation</span>
   <span class="token keyword">var</span> x <span class="token keyword">int</span> <span class="token comment">// the result variable</span>
   <span class="token class-name"><span class="token namespace">fmt<span class="token punctuation">.</span></span>Println</span><span class="token punctuation">(</span><span class="token string">"number 1 = "</span><span class="token punctuation">,</span>number1<span class="token punctuation">,</span><span class="token string">"\nnumber 2 ="</span><span class="token punctuation">,</span>number2<span class="token punctuation">)</span>
   <span class="token class-name"><span class="token namespace">fmt<span class="token punctuation">.</span></span>Println</span><span class="token punctuation">(</span><span class="token string">" choice 1: Addition of the two numbers"</span><span class="token punctuation">)</span>
   <span class="token class-name"><span class="token namespace">fmt<span class="token punctuation">.</span></span>Println</span><span class="token punctuation">(</span><span class="token string">" choice 2: Subtraction of the two numbers"</span><span class="token punctuation">)</span>
   <span class="token class-name"><span class="token namespace">fmt<span class="token punctuation">.</span></span>Println</span><span class="token punctuation">(</span><span class="token string">" choice 3: Multiplication of the two numbers"</span><span class="token punctuation">)</span>
   <span class="token class-name"><span class="token namespace">fmt<span class="token punctuation">.</span></span>Println</span><span class="token punctuation">(</span><span class="token string">" choice 4: Division of the two numbers"</span><span class="token punctuation">)</span>
   <span class="token class-name"><span class="token namespace">fmt<span class="token punctuation">.</span></span>Scanln</span><span class="token punctuation">(</span><span class="token operator">&</span>choice<span class="token punctuation">)</span>
   <span class="token comment">// print the choice of calculation using switch case</span>
   <span class="token keyword">switch</span> choice<span class="token punctuation">{</span>
      <span class="token keyword">case</span> <span class="token number">1</span><span class="token operator">:</span>
         x<span class="token operator">=</span>number1<span class="token operator">+</span>number2
         <span class="token class-name"><span class="token namespace">fmt<span class="token punctuation">.</span></span>Printf</span><span class="token punctuation">(</span><span class="token string">"Addition of the two numbers is: %d"</span><span class="token punctuation">,</span>x<span class="token punctuation">)</span>
      <span class="token keyword">case</span> <span class="token number">2</span><span class="token operator">:</span>
         x<span class="token operator">=</span>number1<span class="token operator">-</span>number2
         <span class="token class-name"><span class="token namespace">fmt<span class="token punctuation">.</span></span>Printf</span><span class="token punctuation">(</span><span class="token string">"Subtraction of the two numbers is: %d"</span><span class="token punctuation">,</span>x<span class="token punctuation">)</span>
      <span class="token keyword">case</span> <span class="token number">3</span><span class="token operator">:</span>
         x<span class="token operator">=</span>number1<span class="token operator">*</span>number2
         <span class="token class-name"><span class="token namespace">fmt<span class="token punctuation">.</span></span>Printf</span><span class="token punctuation">(</span><span class="token string">"Multiplication of the two numbers is: %d"</span><span class="token punctuation">,</span>x<span class="token punctuation">)</span>
      <span class="token keyword">case</span> <span class="token number">4</span><span class="token operator">:</span>
         x<span class="token operator">=</span>number1<span class="token operator">/</span>number2
         <span class="token class-name"><span class="token namespace">fmt<span class="token punctuation">.</span></span>Printf</span><span class="token punctuation">(</span><span class="token string">"Division of the two numbers is: %d"</span><span class="token punctuation">,</span>x<span class="token punctuation">)</span>
      <span class="token keyword">default</span><span class="token operator">:</span>
         <span class="token class-name"><span class="token namespace">fmt<span class="token punctuation">.</span></span>Println</span><span class="token punctuation">(</span><span class="token string">"Invalid number"</span><span class="token punctuation">)</span>
   <span class="token punctuation">}</span>
   <span class="token comment">// Print the result using built-in function fmt.Println()</span>
<span class="token punctuation">}</span>
</div><div class="output-wrapper"><div class="console-close"></div><div class="code-output"></div></div>

Input

number 1 = 20
number 2 = 10
choice 1: Addition of the two numbers
choice 2: Subtraction of the two numbers
choice 3: Multiplication of the two numbers
choice 4: Division of the two numbers
2

Output

Subtraction of the two numbers is: 10

Description of the Code

  • In the above program, we first declare the package main.

  • We imported the fmt package that includes the files of package fmt

  • Now start the function main().GO program execution starts with the function main().

  • Declare and initialize the variables number1 and number2, variable choice corresponds to the choice of calculation. Variable x is the result integer variable.

  • Create the switch case statement to execute the code

  • Last we print the result on the screen using built-in function fmt.Println().This function is defined under the fmt package and it helps to write standard output.

How to Make a Simple Calculator using Switch Case in two Separate Functions

Syntax

func functionname(list_of_parameters)(return_type) {
   //...
   //function_body
}

Algorithm

  • Step 1 ? Import the package fmt

  • Step 2 ? Create the function calculator()

  • Step 3 ? Declare and initialize the variables

  • Step 4 ? Create the switch case statement

  • Step 5 ? Start the function main()

  • Step 6 ? Call the function calculator()

  • Step 7 ? Print the result using built-in function fmt.Println().

Example

Shows how to make a simple calculator using switch case in golang program in two separate functions

<div class="execute"></div><div class="code-mirror  language-java" contenteditable="plaintext-only" spellcheck="false" style="outline: none; overflow-wrap: break-word; overflow-y: auto; white-space: pre-wrap;"><span class="token comment">// Golang program to make a Simple</span>
<span class="token comment">// Calculator using Switch Case</span>
<span class="token keyword">package</span> <span class="token namespace">main</span>

<span class="token comment">// fmt package provides the function to print anything</span>
<span class="token keyword">import</span> <span class="token string">"fmt"</span>

<span class="token comment">// Creating a function Calculator()</span>
func <span class="token function">calculator</span><span class="token punctuation">(</span>choice <span class="token keyword">int</span><span class="token punctuation">)</span> <span class="token keyword">int</span> <span class="token punctuation">{</span>

   <span class="token comment">// declare and initialize the variables</span>
   <span class="token keyword">var</span> result <span class="token keyword">int</span>
   <span class="token keyword">var</span> num1 <span class="token keyword">int</span> <span class="token operator">=</span> <span class="token number">30</span>
   <span class="token keyword">var</span> num2 <span class="token keyword">int</span> <span class="token operator">=</span> <span class="token number">15</span>
	
   <span class="token comment">// print the choice of calculation using switch case</span>
   <span class="token keyword">switch</span> choice <span class="token punctuation">{</span>
      <span class="token keyword">case</span> <span class="token number">1</span><span class="token operator">:</span>
         result <span class="token operator">=</span> num1 <span class="token operator">+</span> num2
         <span class="token class-name"><span class="token namespace">fmt<span class="token punctuation">.</span></span>Printf</span><span class="token punctuation">(</span><span class="token string">"Addition is: %d \n"</span><span class="token punctuation">,</span> result<span class="token punctuation">)</span>
      <span class="token keyword">case</span> <span class="token number">2</span><span class="token operator">:</span>
         result <span class="token operator">=</span> num1 <span class="token operator">-</span> num2
         <span class="token class-name"><span class="token namespace">fmt<span class="token punctuation">.</span></span>Printf</span><span class="token punctuation">(</span><span class="token string">"Subtraction is: %d \n"</span><span class="token punctuation">,</span> result<span class="token punctuation">)</span>
      <span class="token keyword">case</span> <span class="token number">3</span><span class="token operator">:</span>
         result <span class="token operator">=</span> num1 <span class="token operator">*</span> num2
         <span class="token class-name"><span class="token namespace">fmt<span class="token punctuation">.</span></span>Printf</span><span class="token punctuation">(</span><span class="token string">"Multiplication is: %d \n"</span><span class="token punctuation">,</span> result<span class="token punctuation">)</span>
      <span class="token keyword">case</span> <span class="token number">4</span><span class="token operator">:</span>
         result <span class="token operator">=</span> num1 <span class="token operator">/</span> num2
         <span class="token class-name"><span class="token namespace">fmt<span class="token punctuation">.</span></span>Printf</span><span class="token punctuation">(</span><span class="token string">"Division is: %d \n"</span><span class="token punctuation">,</span> result<span class="token punctuation">)</span>
      <span class="token keyword">default</span><span class="token operator">:</span>
         <span class="token class-name"><span class="token namespace">fmt<span class="token punctuation">.</span></span>Println</span><span class="token punctuation">(</span><span class="token string">"Invalid value"</span><span class="token punctuation">)</span>
   <span class="token punctuation">}</span>
   <span class="token keyword">return</span> <span class="token number">0</span>
<span class="token punctuation">}</span>
<span class="token comment">// start the main() function</span>
func <span class="token function">main</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
   <span class="token class-name"><span class="token namespace">fmt<span class="token punctuation">.</span></span>Println</span><span class="token punctuation">(</span><span class="token string">"Number 1 = 30 \nNumber 2= 15"</span><span class="token punctuation">)</span>
   <span class="token class-name"><span class="token namespace">fmt<span class="token punctuation">.</span></span>Println</span><span class="token punctuation">(</span><span class="token string">"Enter the following operation you want to perform"</span><span class="token punctuation">)</span>
   <span class="token class-name"><span class="token namespace">fmt<span class="token punctuation">.</span></span>Println</span><span class="token punctuation">(</span><span class="token string">"1 for addition \n2 for Subtration \n3 for Multiplication \n4 for Division"</span><span class="token punctuation">)</span>
   <span class="token keyword">var</span> option <span class="token keyword">int</span> <span class="token operator">=</span> <span class="token number">0</span> <span class="token comment">// calling the calculator() function</span>
   <span class="token class-name"><span class="token namespace">fmt<span class="token punctuation">.</span></span>Scanln</span><span class="token punctuation">(</span><span class="token operator">&</span>option<span class="token punctuation">)</span>
   <span class="token function">calculator</span><span class="token punctuation">(</span>option<span class="token punctuation">)</span>
   <span class="token comment">// Print the result using built-in function fmt.Println()</span>
<span class="token punctuation">}</span>
</div><div class="output-wrapper"><div class="console-close"></div><div class="code-output"></div></div>

input

Number 1 = 30
Number 2= 15
Enter the following operation you want to perform
1 for addition
2 for Subtration
3 for Multiplication
4 for Division
2

Output

Subtraction is: 15

Description of the Code

  • In the above program, we first declare the package main.

  • We imported the fmt package that includes the files of package fmt

  • Create the function calculator() to calculate the choice

  • Declare and initialize the variables num1 and num2. Variable result is the final result integer variable.

  • Create the switch case statement to execute the code with the input choice

  • Next we start the function main().GO program execution starts with the function main().

  • Here we will use user input function - fmt.Scanln(), and then we call the function calculator() to calculate the result

  • The final result is printed on the console screen using the built-in function fmt.Println().This function is defined under the fmt package and it helps to write standard output.

Conclusion

In the above two examples we have successfully compiled and executed the Golang code to make a simple calculator using switch case.

Even though we can use if...else statements in the place of switch case statements, but the code written with the switch case is much cleaner and easier to write.

Updated on: 2022-10-28T07:58:28+05:30

5K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements