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.