Go语言程序移除数组中所有指定元素


在本教程中,我们将学习如何编写一个 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 − 初始化一个数组并为其赋值,然后使用 ... 在屏幕上打印数组。

步骤 8 − 通过将数组和我们想要移除的值作为参数传递给 removeOccurrences() 函数来调用它。

步骤 9 − 将函数返回的值存储在一个单独的变量中,并使用 fmt.Println() 函数在屏幕上打印它。

示例 1

现在让我们看看另一个从 Go 语言数组中移除所有指定元素出现的示例。

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 语言程序,该程序用于移除数组中所有指定元素的出现,并附带示例。

更新于: 2023年1月2日

554 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.