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]

結論

我們使用兩個示例執行了反轉切片元素的程式。在第一個示例中,我們使用了整數值並交換了它們,在第二個示例中,我們使用了字串值並交換了它們。這兩個示例都給出了類似的輸出。因此,程式成功執行。

更新於: 2023年1月17日

3K+ 閱讀量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告