Golang 打印直角三角形星型图案

Golang 打印直角三角形星型图案

在本教程中,我们将编写一个Go语言代码来打印一个直角三角形星型图案。我们将展示如何在Go语言中打印星型图案。

*
* *
* * *
* * * *

如何打印星星图案

上面展示了一个直角三角形星星图案,在该图案中,你可以看到星星随着行数的增加而增加。该图案按照以下方式进行:第一行有1颗星星,第二行有2颗星星,依此类推。

For loop
for [condition | ( init; condition; increment) | Range] { 
   statement(s); 
}

示例1:Golang程序打印直角星形图案

步骤

  • 第一步 − 导入fmt包。

  • 第二步 − 开始函数 main()

  • 第三步 − 声明并初始化整数变量。

  • 第四步 − 使用第一个循环来迭代从1到“行数”的行。

  • 第五步 − 使用第二个循环来迭代从1到i的列,以打印星型图案。

  • 第六步 − 打印完一行的所有列后,换行即打印一个新行。

示例

以下代码中演示了编译和执行打印直角三角形星图案的Golang程序 −

//GOLANG PROGRAM TO PRINT RIGHT ANGLED STAR PATTERN
package main

// fmt package provides the function to print anything
import "fmt"

// calling the main function
func main() {

   // declaring variables with integer datatype to store respective values
   // i and j are used to iterate through for loop
   // row variable will contain the total number of rows that a star pattern should contain.
   var i, j, row int

   // assigning a value of 5 to the number of rows that the pattern should print.
   // assuming that value to be 5
   row = 5

   // Printing the star pattern
   fmt.Println("\nRight Angled Star Pattern")

   // for loop to print the number of rows rows
   for i = 1; i <= row; i++ {

      // for loop to print the number of columns
      for j = 1; j <= i; j++ {

         // printing star(*) symbol using fmt.Print() function
         fmt.Print("* ")
      }
      // printing a new line using fmt.Println() function
      fmt.Println()
   }
}

输出

Right Angled Star Pattern 

* 
* * 
* * * 
* * * * 
* * * * *

代码描述

  • 上面的代码首先导入了main包和fmt包,fmt包可以让我们在屏幕上打印任何内容。

  • 然后开始main()函数。

  • 声明并初始化数据类型int的变量i、j和row。

  • 让我们将行数设置为5,也就是为了这个示例,让我们打印一个有5行的星星图案。

  • i和j用于迭代for循环。它们将选择相应的行和列来打印*字符。

  • 为了打印这种类型的图案,我们需要在另一个for循环中使用嵌套的for循环。第一个for循环用于选择行,它从1迭代到row变量所包含的行数。

  • 第二个for循环从j = 1开始,到当前行的值。当前行的值是变量i的值。

  • 使用fmt.Print()函数在第二个for循环中打印*字符。

  • 对于第一行,第二个for循环不会开始,只会打印一个*字符。

  • 对于第二行,i = 2,这种情况下第二个for循环将从j = 1迭代到j = 2,以此类推,第二行将打印两个*字符。

  • 以此类推,将打印出右三角形图案。

示例2: 使用递归打印Golang程序的右三角星星图案

步骤

  • 步骤1 - 导入fmt包。

  • 步骤2 - 定义一个printSpace()函数。

  • 步骤3 - 定义一个printRow()函数来递归打印星星图案的行。

  • 步骤4 - 定义一个Star()函数来递归打印新行。

  • 步骤5 - 声明并初始化整数变量。

  • 步骤6 - 调用printRow()函数。

示例

//GOLANG PROGRAM TO PRINT RIGHT ANGLED STAR PATTERN using recursion
package main

// fmt package provides the function to print anything
import "fmt"

// defining printRow() function
func printRow(number int) {

   // selecting rows
   if number > 0 {

      // calling the printRow() function recusrsively
      printRow(number - 1)

      // printing the star character
      fmt.Printf("*")
   }
}
func star(number int) {
   if number > 0 {
      // calling the star function recursively
      star(number - 1)
   }
   // calling the printRow() function
   printRow(number)

   // printing new line
   fmt.Println()
}
// calling the main function
func main() {

   // declaring variable row
   var row int = 7

   // calling the star() function
   star(row)
}

输出

* 
** 
*** 
**** 
***** 
****** 
*******

代码描述

  • 在以上代码中,我们首先导入了主包和 fmt 包,fmt 包允许我们在屏幕上打印任何东西。

  • 创建了两个函数,分别命名为 printRow()star()

  • printRow() 函数将根据选择的行数打印星号字符。

  • star() 函数将打印换行符,并调用 printRow() 函数以在选择的行中打印星号。

  • 然后开始 main() 函数。

  • 初始化一个名为 row 的 int 数据类型变量,并将要打印星号图案的行数存储在其中。

  • 调用 star() 函数,并将 row 变量作为参数传递给它。

结论

我们已成功编译和执行了一个 Go 语言程序,用于打印一个直角星号图案。

为了打印这个星号图案,我们在这里使用了递归,递归调用了两个函数。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程