Go語言程式列印螺旋數字圖案
在本教程中,我們將學習如何使用Go程式語言列印螺旋數字圖案。
螺旋數字圖案用於在螢幕上以螺旋形列印數字。在這個程式中,我們將建立一個大小為n的陣列,將數字儲存在其中,並使用該陣列以螺旋格式建立矩陣。
語法
for initialization; condition; update { statement(s) } func make([]T, len, cap) []T
make() 函式用於為某些變數分配堆記憶體。例如,我們可以使用 make() 函式為陣列分配記憶體。此函式接受三個引數:陣列的資料型別、陣列的長度和容量。此函式返回最終陣列,我們可以將其儲存在變數中。
示例:使用for迴圈列印螺旋數字圖案的Go語言程式程式碼
演算法
步驟1 - 匯入fmt包
步驟2 - 建立一個名為spiral()的函式,其中包含邏輯。
步驟3 - 初始化變數left、right、top、bottom併為其賦值。
步驟4 - 使用make()函式追加一個整型陣列變數,並將結果陣列儲存在另一個變數中。確定陣列的大小並將其作為引數傳遞給陣列變數。
步驟5 - 對所有變數使用for迴圈,以螺旋形排列它們。
步驟6 - 排列螺旋中的中心元素。
步驟7 - 開始main()函式
步驟8 - 初始化名為num和length的變數,並分配一個此類長度的陣列。
步驟9 - 在迴圈內呼叫spiral()函式以列印圖案。
步驟10 - 退出程式。
示例
// GOLANG PROGRAM TO PRINT SPIRAL PATTERN OF NUMBERS USING FOR LOOPS. package main // fmt package have the required packages import ( "fmt" ) // CREATE A SPIRAL FUNCTION WHICH RETURNS THE REQUIRED ARRAY func spiral(n int) []int { // INITIALIZE THE REQUIRED VARIABLES left, top, right, bottom := 0, 0, n-1, n-1 // Size of the matrix array_size := n * n spiral_array := make([]int, array_size) i := 0 // USE FOR LOOP ON THE VARIABLES FOR PRINTING THE REQUIRED PATTERN for left < right { for c := left; c <= right; c++ { spiral_array[top*n+c] = i i++ } top++ for r := top; r <= bottom; r++ { spiral_array[r*n+right] = i i++ } right-- if top == bottom { break } for c := right; c >= left; c-- { spiral_array[bottom*n+c] = i i++ } bottom-- for r := bottom; r >= top; r-- { spiral_array[r*n+left] = i i++ } left++ } // center (last) element spiral_array[top*n+left] = i //RETURN THE ARRAY return spiral_array } // start the function main() // This function is the entry point of the executable program func main() { // THE VALUE TO BE PASSED IN THE spiral() Function num := 5 len := 2 fmt.Println("IT IS A SPIRAL PATTERN OF LENGTH ", num) //todraw the pattern use the for loop on spiral function for i, draw := range spiral(num) { fmt.Printf("%*d ", len, draw) if i%num == num-1 { fmt.Println("") } } }
輸出
IT IS A SPIRAL PATTERN OF LENGTH 5 0 1 2 3 4 15 16 17 18 5 14 23 24 19 6 13 22 21 20 7 12 11 10 9 8
程式碼描述
在Go語言程式中宣告包main
我們匯入了包含fmt包檔案的fmt包。fmt包允許我們在螢幕上列印任何內容。
現在我們建立了spiral()函式,並初始化了變數,還使用陣列元素初始化了要以螺旋格式列印的矩陣大小。
我們建立了一個數組,我們將使用for迴圈以螺旋格式列印其元素。
使用for迴圈以螺旋格式列印數字。
spiral()函式返回一個數組。
啟動main()函式。從迴圈呼叫spiral函式以列印儲存在陣列中的元素。
最後,使用fmt.Println()函式以螺旋數字圖案的形式列印結果。
結論
我們已成功編譯並執行了一個Go語言程式,用於在螢幕上列印螺旋數字圖案。