Go語言程式:獲取陣列中第N個元素之後的元素


在本教程中,我們將編寫一個Go語言程式,用於獲取陣列中最後給定數量的元素。我們可以使用Go語言的內建函式或使用for迴圈來實現。第一種方法在功能上比第二種方法更高效,但我們將在本程式中討論這兩種方法。

語法

func make ([] type, size, capacity)

Go語言中的`make`函式用於建立陣列/對映,它接受要建立的變數型別、大小和容量作為引數。

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

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

演算法

**步驟1** - 首先,我們需要匯入`fmt`包。

**步驟2** - 然後,建立一個函式來獲取從給定索引開始的元素。此函式接受陣列作為引數並返回最終陣列。

**步驟3** - 現在,我們需要啟動`main()`函式。

**步驟4** - 在這裡,使用`make()`函式初始化一個整數陣列,並將值新增到陣列中。然後在螢幕上列印陣列。

**步驟5** - 將要列印元素之後的索引儲存在一個變數中。將該索引處的元素儲存在一個變數中。

**步驟6** - 現在,透過將陣列和索引作為引數傳遞給函式來呼叫`getLastElem()`函式,並存儲獲得的陣列。

**步驟7** - 使用`fmt.Println()`函式在螢幕上列印最終陣列。

示例1

package main
import "fmt"

// function to get the last element from the array
func getLastElem(array []int, index int) []int {
   return append(array[index:])
}
func main() {

   // initializing an array
   array := make([]int, 0, 5)
   array = append(array, 10, 22, 31, 46, 59)
   fmt.Println("The given array is:", array)
   var index int = 2

   // getting element at index
   elem := array[index]
   result := getLastElem(array, index)
   fmt.Println()
   fmt.Println("The provided index is:", index)
   fmt.Println("Array elements after", elem, "are:\n", result)
}

輸出

The given array is: [10 22 31 46 59]

The provided index is: 2
Array elements after 31 are:
 [31 46 59]

示例2

在這個例子中,我們將在程式的`main()`部分編寫一個Go語言程式,用於獲取陣列中最後給定的元素。

package main
import "fmt"
func main() {

   // initializing an array
   array := make([]int, 0, 5)
   array = append(array, 11, 20, 13, 44, 56)
   fmt.Println("The given array is:", array)
   var index int = 2
   elem := array[index]
   result := array[index:]
   fmt.Println()
   fmt.Println("The provided index is:", index)
   fmt.Println("Array obtained after getting elements after", elem, "is:\n", result)
}

輸出

The given array is: [11 20 13 44 56]

The provided index is: 2
Array obtained after getting elements after 13 is:
 [13 44 56]

結論

我們已經成功編譯並執行了一個Go語言程式,用於獲取陣列中第N個元素之後的指定數量的元素,並附帶示例。

更新於:2023年2月10日

1K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.