Go語言程式反轉切片
在本教程中,我們將學習如何使用各種示例反轉切片。切片就像陣列一樣,是一系列元素的序列。陣列是元素的固定序列,而切片是動態陣列,這意味著它的值不是固定的,可以更改。切片比陣列更有效率且速度更快,此外它們是透過引用而不是透過值傳遞的。讓我們透過示例來了解這些內容。
語法
func append(slice, element_1, element_2…, element_N) []T
append 函式用於向陣列切片新增值。它接受多個引數。第一個引數是要向其新增值的陣列,後跟要新增的值。然後,該函式返回包含所有值的最終陣列切片。
方法 1:在示例中使用整數值
在這種方法中,我們將瞭解如何使用整數值反轉切片。在這裡,我們將使用 append 函式輸入值。輸出將使用 fmt.Println() 函式列印到控制檯。讓我們透過程式碼瞭解它是如何完成的。
演算法
步驟 1 − 建立一個 package main 並宣告程式中的 fmt(格式包),其中 main 生成可執行程式碼,fmt 幫助格式化輸入和輸出。
步驟 2 − 建立一個函式 main,並在該函式中建立一個空切片(型別為整數),並使用 append 函式向該切片中新增元素。
步驟 3 − 使用兩個變數 i 和 j 執行迴圈,這兩個變數都應用於同一位置。
步驟 4 − 初始化變數 i 和 j 等於 0 和切片長度 -1。執行迴圈,直到 I 小於 j。
步驟 5 − 在迴圈中,使用 Go 的多重賦值功能交換索引 i 和 j 處的元素。
步驟 6 − 交換後,i 加 1,j 減 1,迴圈繼續進行下一次交換。
步驟 7 − 使用 fmt.Prinltn() 函式列印交換後的切片,其中 ln 指的是換行符。
示例
Go語言程式使用示例中的整數值反轉切片
package main import "fmt" func main() { var slice []int slice = append(slice, 10) // create slice using append function slice = append(slice, 20) slice = append(slice, 30) slice = append(slice, 40) fmt.Println("The slice before reversal is:", slice) for i, j := 0, len(slice)-1; i < j; i, j = i+1, j-1 { slice[i], slice[j] = slice[j], slice[i] //reverse the slice } fmt.Println("The slice after reversal is:") fmt.Println(slice) // print the reversed slice }
輸出
The slice before reversal is: [10 20 30 40] The slice after reversal is: [40 30 20 10]
方法 2:在示例中使用字串值
在這種方法中,我們將瞭解如何使用字串值反轉切片。在這裡,我們將使用 append 函式輸入值。輸出將使用 fmt.Println() 函式列印到控制檯。讓我們透過程式碼瞭解它是如何完成的。
演算法
步驟 1 − 建立一個 package main 並宣告程式中的 fmt(格式包),其中 main 生成可執行程式碼,fmt 幫助格式化輸入和輸出。
步驟 2 − 建立一個函式 main,並在該函式中建立一個空切片(型別為字串),並使用 append 函式向該切片中新增元素。
步驟 3 − 使用兩個變數 i 和 j 執行迴圈,這兩個變數都應用於同一位置。
步驟 4 − 初始化變數 i 和 j 等於 0 和切片長度 -1。執行迴圈,直到 I 小於 j。
步驟 5 − 在迴圈中,使用 Go 的多重賦值功能交換索引 i 和 j 處的元素。
步驟 6 − 交換後,i 加 1,j 減 1,迴圈繼續進行下一次交換。
步驟 7 − 使用 fmt.Prinltn() 函式列印交換後的切片,其中 ln 指的是換行符。
示例
Go語言程式使用示例中的字串值反轉切片
package main import "fmt" func main() { var slice []string slice = append(slice, "Delhi") // create slice using append function slice = append(slice, "Mumbai") slice = append(slice, "Bangalore") slice = append(slice, "Jaipur") fmt.Println("The slice before reversal is:", slice) for i, j := 0, len(slice)-1; i < j; i, j = i+1, j-1 { slice[i], slice[j] = slice[j], slice[i] // reverse the slice } fmt.Println("The slice after reversal is:") fmt.Println(slice) // print the reversed slice }
輸出
The slice before reversal is: [Delhi Mumbai Bangalore Jaipur] The slice after reversal is: [Jaipur Bangalore Mumbai Delhi]
結論
我們使用兩個示例執行了反轉切片元素的程式。在第一個示例中,我們使用了整數值並交換了它們,在第二個示例中,我們使用了字串值並交換了它們。這兩個示例都給出了類似的輸出。因此,程式成功執行。