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 函数,在第二个示例中,我们使用了索引来替换元素。这两个示例给出了相似的输出。因此,程序成功执行。
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP