Golang Program To Print Diamond Star Pattern

In this tutorial, we will learn how to print diamond star pattern using Go programming language.

Syntax

for initialization; condition; update {
   statement(s)
}

Example: Golang Program Code To Print Diamond Star Pattern Using A Single Function

Algorithm

  • Step 1 ? Import the package fmt.

  • Step 2 ? Start the function main ().

  • Step 3 ? Declare and initialize the variables.

  • Step 4 ? Use of for loop with condition and incrementor.

  • Step 5 ? Print the result using fmt.Println ().

Example

<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 PRINT DIAMOND STAR PATTERN</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 function main ()</span>
<span class="token comment">// this function is the entry point of the executable program</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 the integer variables</span>
   <span class="token keyword">var</span> x<span class="token punctuation">,</span> y<span class="token punctuation">,</span> z<span class="token punctuation">,</span> rows <span class="token keyword">int</span>
   
   <span class="token comment">// initialize the rows variable</span>
   rows <span class="token operator">=</span> <span class="token number">8</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>rows<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">"GOLANG PROGRAM TO PRINT DIAMOND STAR PATTERN"</span><span class="token punctuation">)</span>
   
   <span class="token comment">// Use of For Loop for the upper half</span>
   <span class="token keyword">for</span> x <span class="token operator">=</span> <span class="token number">1</span><span class="token punctuation">;</span> x <span class="token operator"><=</span> rows<span class="token punctuation">;</span> x<span class="token operator">++</span> <span class="token punctuation">{</span>
      <span class="token comment">// This loop starts when y = 1</span>
      <span class="token comment">// executes till y<=rows condition is true</span>
      <span class="token comment">// post statement is y++</span>
      <span class="token keyword">for</span> y <span class="token operator">=</span> <span class="token number">1</span><span class="token punctuation">;</span> y <span class="token operator"><=</span> rows<span class="token operator">-</span>x<span class="token punctuation">;</span> y<span class="token operator">++</span> <span class="token punctuation">{</span>
         <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">" "</span><span class="token punctuation">)</span>
      <span class="token punctuation">}</span>
      <span class="token keyword">for</span> z <span class="token operator">=</span> <span class="token number">1</span><span class="token punctuation">;</span> z <span class="token operator"><=</span> x<span class="token operator">*</span><span class="token number">2</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">;</span> z<span class="token operator">++</span> <span class="token punctuation">{</span>
         <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">"*"</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 punctuation">)</span>
   <span class="token punctuation">}</span>
   <span class="token comment">// Use of For Loop for the lower half</span>
   <span class="token keyword">for</span> x <span class="token operator">=</span> rows <span class="token operator">-</span> <span class="token number">1</span><span class="token punctuation">;</span> x <span class="token operator">></span> <span class="token number">0</span><span class="token punctuation">;</span> x<span class="token operator">--</span> <span class="token punctuation">{</span>
   
      <span class="token comment">// This loop starts when y = 1</span>
      <span class="token comment">// executes till y<=rows condition is true</span>
      <span class="token comment">// post statement is y++</span>
      <span class="token keyword">for</span> y <span class="token operator">=</span> <span class="token number">1</span><span class="token punctuation">;</span> y <span class="token operator"><=</span> rows<span class="token operator">-</span>x<span class="token punctuation">;</span> y<span class="token operator">++</span> <span class="token punctuation">{</span>
         <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">" "</span><span class="token punctuation">)</span>
      <span class="token punctuation">}</span>
      <span class="token keyword">for</span> z <span class="token operator">=</span> <span class="token number">1</span><span class="token punctuation">;</span> z <span class="token operator"><=</span> x<span class="token operator">*</span><span class="token number">2</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">;</span> z<span class="token operator">++</span> <span class="token punctuation">{</span>
         <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">"*"</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 punctuation">)</span>
      <span class="token comment">// print the result using fmt.Println () function</span>
   <span class="token punctuation">}</span>
<span class="token punctuation">}</span>
</div><div class="output-wrapper"><div class="console-close"></div><div class="code-output"></div></div>

Output

GOLANG PROGRAM TO PRINT DIAMOND STAR PATTERN
       *
      ***
     *****
    *******
   *********
  ***********
 *************
***************
 *************
  ***********
   *********
    *******
     *****
      ***
       *

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 () and this function is the entry point of the executable program. It does not take any argument nor return anything.

  • Declare the four integer variables x, y, z and rows. Initialize the rows variable to an integer value you want for the number of rows of the diamond star pattern. Here, fmt.Scanln () function is used to read and store the rows value.

  • Using for loop ? The condition is given inside an if statement and stop execution is mentioned once the condition is right. In the code the for loop starts when x := rows - 1 ,y := 1 and i = 1.

  • And finally printing the result in the form of a diamond shape on the screen using fmt.Println () function which formats using the default formats for its operands and writes to standard output.

Conclusion

We have successfully compiled and executed the Golang program code to print diamond star pattern in the above example.

Updated on: 2022-11-16T06:04:27+05:30

667 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements