Go語言程式將切片分成兩半


切片也可以稱為動態陣列,因為它的值是動態的,而普通陣列是靜態的。這使得切片更高效且更快。它們是透過引用傳遞而不是透過值傳遞。讓我們學習如何使用 Go 語言程式將切片分成兩半。

語法

func append(slice, element_1, element_2…, element_N) []T

append 函式用於向陣列切片新增值。它接受多個引數。第一個引數是要新增值的陣列,後跟要新增的值。然後,該函式返回包含所有值的陣列的最終切片。

演算法

  • 步驟 1 − 建立一個 package main 並宣告程式中的 fmt(格式化包)包,其中 main 生成可執行程式碼,fmt 幫助格式化輸入和輸出。

  • 步驟 2 − 建立切片並使用 append 函式(內建函式)在切片內填充值。

  • 步驟 3 − 使用 fmt.Println() 函式在控制檯上列印切片。

  • 步驟 4 − 使用 len(slice)/2 查詢切片的中點並將其儲存在 mid 變數中,這裡 len 指的是切片的長度。

  • 步驟 5 − 在 left 變數中儲存 mid 之前和等於 mid 的值,在 right 變數中儲存 mid 之後的值。

  • 步驟 6 − 使用 fmt.Println() 函式在控制檯上列印左半部分和右半部分,其中 ln 表示換行。

示例 1

在這個示例中,我們將學習如何使用切片的中值將切片分成兩半。螢幕上列印的輸出將是左切片和右切片,其中左切片包含中間元素,右切片不包含中間元素。讓我們透過程式碼和演算法學習如何執行此操作。

package main
import "fmt"
func main() {
   var slice []int // initialize slice
   slice = append(slice, 10) //fill the slice using append function
   slice = append(slice, 20)
   slice = append(slice, 30)
   slice = append(slice, 40)
   fmt.Println("The original slice created is:", slice) //print original slice
   mid := len(slice) / 2 //find mid element
   left := slice[:mid] //store left slice elements in left variable
   right := slice[mid:] //store right slice elements in right variable
   fmt.Println("The left half presented here is:", left) //print left elements
   fmt.Println("The right half presented here is:", right) //print right elements
}

輸出

The original slice created is: [10 20 30 40]
The left half presented here is: [10 20]
The right half presented here is: [30 40]

示例 2

在這個示例中,我們將瞭解如何使用 append 函式(一種內建函式)將切片分成兩半。它將用於將後半部分的元素附加到 append 函式引數內建立的新切片中。在這裡,讓我們深入瞭解演算法和程式碼以瞭解更多資訊。

package main
import "fmt"
func main() {
   var slice []int // initialize slice
   slice = append(slice, 10) //fill the slice using append function
   slice = append(slice, 20)
   slice = append(slice, 30)
   slice = append(slice, 40)

   fmt.Println("The original slice created here is:", slice) //print original slice
   mid := len(slice) / 2 //find mid element
   left := slice[:mid] //
   right := append([]int{}, slice[mid:]...) //store the right elements into the right variable
   fmt.Println("The left half presented here is:", left) //print left elements
   fmt.Println("The right half presented here is:", right) //print right elements
}

輸出

The original slice created here is: [10 20 30 40]
The left half presented here is: [10 20]
The right half presented here is: [30 40]

結論

我們使用兩個示例執行了將切片分成兩半的程式。在第一個示例中,我們使用中間值計算了二分之一。在第二個示例中,我們使用 append 函式查詢二分之一。此外,我們使用了一個名為 append 函式的內建函式,該函式用於向切片新增值並建立一個名為 right 切片的新切片。這兩個示例都給出了類似的輸出。因此,程式成功執行。

更新於: 2023年2月13日

2K+ 閱讀量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告