Golang 用于替换切片中的元素
在本教程中,我们将掌握如何使用不同的示例替换切片中的元素。切片是一个动态数组,这意味着它的值不像数组那样固定。输出将使用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 - 创建一个主包并在程序中声明fmt(格式化包)包,其中主要生成可执行代码,fmt帮助格式化输入和输出。
-
步骤2 - 创建一个主函数,在该函数中使用append函数创建两个切片,分别命名为array1和array2。
-
步骤3 - 使用copy函数,参数为目标数组array1和源数组array2。
-
步骤4 - 将array2中的元素从第二个索引处复制到array1中,并在控制台上打印array1。
-
步骤5 - 使用fmt.Println()函数执行打印操作,其中ln表示换行。
示例
使用内置的copy函数替换切片中的元素的Golang程序
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
附加函数用于向数组切片添加值。它接受多个参数。第一个参数是我们希望向其添加值的数组,后面是要添加的值。然后,函数返回包含所有值的数组的最终切片。
步骤
- 步骤1 - 创建一个主包,并在主包中声明fmt(格式化包)包,该包用于产生可执行代码,fmt帮助格式化输入和输出。
-
步骤2 - 创建一个名为array的切片的主函数,并使用append函数创建一个切片。
-
步骤3 - 使用array [] index = new value获取要替换的索引值,并将其分配给新值。
-
步骤4 - 使用fmt.Println()函数在控制台上打印新值,其中ln表示新行。
示例
使用索引替换切片中的元素的Golang程序
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]
结论
我们执行了替换切片元素的程序的两个示例。在第一个示例中,我们使用了内置的复制函数,在第二个示例中,我们使用了索引来替换元素。这两个示例都给出了类似的输出。因此,程序执行成功。
极客笔记