Golang 在数组中删除所有元素
在本教程中,我们将学习如何编写一个Go语言程序来删除数组中所有元素的出现次数。从数组中删除元素的意思是我们希望完全从数组中删除一个条目。
使用外部函数在数组中删除所有元素的出现次数
以下代码演示了如何通过使用用户定义的函数从数组中删除所有元素的出现次数。
步骤
步骤1 − 导入fmt包。
步骤2 − 定义一个名为 removeOccurrence() 的函数。
步骤3 − 在此函数中,我们检查数组的当前元素是否等于我们要删除的值。
步骤4 − 如果不是,则将该元素存储在相同的数组中,否则忽略该元素并重复该过程,直到整个数组都被迭代完成。
步骤5 − 检查每个元素后,我们需要返回最终的数组作为结果。
步骤6 − 开始main()函数。初始化一个数组并给它赋值。
步骤7 − 在屏幕上打印数组。
步骤8 − 通过将数组和要删除的元素作为参数传递给 removeOccurrence() 函数来调用它。
步骤9 − 将从函数得到的结果存储在一个名为 output 的变量中。
步骤10 − 使用 fmt.Println() 函数在屏幕上打印最终结果。
示例1
package main
import "fmt"
func removeOccurrence(nums [10]int, val int) []int {
lenArr := len(nums)
var k int = 0
for i := 0; i < lenArr; {
if nums[i] != val {
nums[k] = nums[i]
k++
}
i++
}
return nums[0:k]
}
func main() {
arr1 := [10]int{1, 2, 3, 4, 4, 5, 4, 7, 8, 4}
fmt.Println("The first array Arr1 is:", arr1)
fmt.Println()
output := removeOccurrence(arr1, 4)
fmt.Println("The array obtained after removing all the occurrences of element 4 are:", output)
}
输出
The first array Arr1 is: [1 2 3 4 4 5 4 7 8 4]
The array obtained after removing all the occurrences of element 4 are: [1 2 3 5 7 8]
步骤
步骤1 导入fmt包。
步骤2 定义一个名为removeOccurrences()的函数。
步骤3 此函数使用for循环遍历数组,并使用if条件检查当前数组元素是否等于我们要删除的元素。
步骤4 如果条件成立,则需要通过删除该值来添加数组。重复此过程,直到对整个数组进行迭代。
步骤5 返回结果数组。
步骤6 开始main()函数。
步骤7 初始化一个数组并为其赋值,进一步使用println()函数将数组打印在屏幕上。
步骤8 通过将数组和要删除的值作为参数传递给removeOccurrences()函数来调用它。
步骤9 将函数返回的值存储在单独的变量中,并使用fmt.Println()函数将其打印在屏幕上。
示例1
现在让我们看一个在Golang中从数组中删除所有元素的另一个示例。
package main
import "fmt"
func removeOccurrence(nums []int, val int) []int {
var i int
for {
if i == len(nums) {
break
}
if nums[i] == val {
nums = nums[:i+copy(nums[i:], nums[i+1:])]
i = 0
}
i++
}
return nums
}
func main() {
arr1 := []int{1, 2, 3, 4, 4, 5, 4, 7, 8, 4}
fmt.Println("The first array Arr1 is:", arr1)
fmt.Println()
output := removeOccurrence(arr1, 4)
fmt.Println("The array obtained after removing all the occurrences of element 4 are:", output)
}
输出
The first array Arr1 is: [1 2 3 4 4 5 4 7 8 4]
The array obtained after removing all the occurrences of element 4 are: [1 2 3 5 7 8]
示例2
现在让我们编写一个go语言代码,从数组中删除字符串元素。
package main
import (
"fmt"
)
func main() {
originalArray := [5]string{"a", "b", "c", "c", "d"}
fmt.Println("The original array is:", originalArray)
val := "c"
j := 0
for _, v := range originalArray {
if v != val {
originalArray[j] = v
j++
}
}
newArray := originalArray[:j]
fmt.Println("The new array is:", newArray)
}
输出
The original array is: [a b c c d]
The new array is: [a b d]
结论
我们成功编译并执行了一个Go语言程序,用于从数组中移除所有元素出现的实例,并提供了示例。