Go語言程式:替換切片中的元素


在本教程中,我們將學習如何使用不同的示例替換切片中的元素。切片是動態陣列,這意味著它的值不像陣列那樣是固定的。輸出將使用 fmt.Println() 函式列印到螢幕上。讓我們看看如何用清晰的示例來實現它。

方法 1:使用內建的 copy 函式

在這種方法中,我們將使用內建函式 copy 來替換切片中的元素,這意味著原始元素的位置將被新元素替換。內建函式可以縮短程式碼並輕鬆解決問題。所有輸出都將使用 fmt.Println() 函式列印到控制檯上。讓我們來了解一下。

語法

func copy(dst, str[] type) int

Go 語言中的 **copy** 函式用於將一個源陣列的值複製到目標陣列,並返回已複製元素的數量作為結果。它以兩個陣列作為引數。

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

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

演算法

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

  • **步驟 2** - 建立一個 main 函式,並在該函式中使用 append 函式建立兩個名為 array1 和 array2 的切片。

  • **步驟 3** - 使用 copy 函式,其中兩個引數分別為目標 array1 和源 array2。

  • **步驟 4** - 從 array2 的第二個索引開始將元素複製到 array1 中,並在控制檯上列印 array1。

  • **步驟 5** - 使用 fmt.Println() 函式執行列印語句,其中 ln 指向下一行。

示例

使用內建 copy 函式替換切片中元素的 Go 語言程式

package main
import "fmt"

// create main function to execute the program

func main() {
   var array1 []int   // create slice1
   var array2 []int   // create slice2
   array1 = append(array1, 6)  //append elements in slice1
   array1 = append(array1, 8)
   array1 = append(array1, 0)
   array1 = append(array1, 0)
   array2 = append(array2, 9)  // append elements in slice2
   array2 = append(array2, 10)

   copy(array1[2:], array2)   // copy the elements from source slice to destination slice
   fmt.Println("The original array1 is:",array1)
   fmt.Println("The original array2 is",array2)
   fmt.Println("The array after replacing elements in a slice is")
   fmt.Println(array1)  // print the destination slice
}

輸出

The original array1 is: [6 8 0 0]
The original array2 is: [9 10]
The array after replacing elements in a slice is:
[6 8 9 10]

方法 2:使用元素索引

在這種方法中,我們將使用索引來替換切片中的元素。所有輸出都將使用 fmt.Println() 函式列印到控制檯上。讓我們學習如何解決這個問題。

語法

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

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

演算法

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

  • **步驟 2** - 建立一個 main 函式,並在該函式中使用 append 函式建立一個名為 array 的切片。

  • **步驟 3** - 獲取要替換的索引值,並使用 array[]index=新值將其分配給新值。

  • **步驟 4** - 使用 fmt.Println() 函式在控制檯上列印新值,其中 ln 表示換行。

示例

使用元素索引替換切片中元素的 Go 語言程式

package main
import "fmt"

// create main function to execute the program
func main() {

   var array []string  // create a slice of type string

   array = append(array, "Delhi")  // append elements in the slice 
   array = append(array, "Jaipur")
   array = append(array, "Coimbatore")

   fmt.Println("The array before replacing value is:", array)
   array[1] = "Udaipur"  // replace elements in slice using indexing
   fmt.Println("The array after replacing value is:")
   fmt.Println(array)  // print the slice replaced with new element
}

輸出

The array before replacing value is: [Delhi Jaipur Coimbatore]
The array after replacing value is:
[Delhi Udaipur Coimbatore]

結論

我們使用兩個示例執行了替換切片元素的程式。在第一個示例中,我們使用了內建的 copy 函式,在第二個示例中,我們使用了索引來替換元素。這兩個示例給出了相似的輸出。因此,程式成功執行。

更新於: 2023年1月17日

3K+ 瀏覽量

啟動您的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.