Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
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.
