Golang程序 从数组中删除第一个给定数量的项目

Golang程序 从数组中删除第一个给定数量的项目

在本教程中,我们将编写一个go语言程序,从一个数组中删除第一个给定数量的项目。我们可以通过使用go语言中的内置函数或使用for循环来实现这一目的。第一种方法在功能上比第二种方法更有效,但我们将在本程序中讨论这两种方法。

方法1:使用内部函数从整数数组中删除第一个给定的项目数

在这个方法中,我们将写一个go语言程序,通过使用append()库函数从一个数组中删除第一个给定数量的项目。

语法

func make ([] type, size, capacity)

Go语言中的make函数用于创建一个数组/映射,它接受要创建的变量类型、其大小和容量作为参数

func append(slice, element_1, element_2…, element_N) []T

append函数用于向一个数组片断添加值。它需要一些参数。第一个参数是我们希望添加数值的数组,然后是要添加的数值。然后,该函数返回包含所有数值的数组的最终片断。

算法

第1步 – 首先,我们需要导入fmt包。

第2步 – 然后,创建一个函数来移除给定索引中的元素。这个函数接受数组作为参数,并返回最终的数组。

第3步 – 现在,我们需要启动main()函数。

第4步 – 在这里,使用make()函数初始化一个整数数组,并将数值追加到数组中。此外,在屏幕上打印该数组。

第5步 – 在一个变量中存储索引,在这之前的元素应该被删除。将存在于该索引的元素存储在一个变量中。

第6步 – 现在,调用delFirstElem()函数,将数组和索引作为参数传给该函数,并将得到的数组存储起来。

第7步 – 在屏幕上打印出最终的数组。

示例

Golang程序使用内部函数从一个整数数组中移除第一个给定数量的项目

package main
import "fmt"

// function to remove the first element from the array
func delFirstElem(array []int, index int) []int {
   return append(array[index:])
}
func main() {

   // initializing an array
   array := make([]int, 0, 5)
   array = append(array, 1, 2, 3, 4, 5)
   fmt.Println("The given array is:", array)
   var index int = 2
   elem := array[index]
   result := delFirstElem(array, index)
   fmt.Println()
   fmt.Println("The provided index is:", index)
   fmt.Println("Array obtained after deleting elements before", elem, "is:\n", result)
}

输出

The given array is: [1 2 3 4 5]
The provided index is: 2
Array obtained after deleting elements before 3 is: [3 4 5]

方法2:使用用户定义的函数从数组中删除第一个给定的元素

在这个方法中,我们将编写一个go语言程序,在程序的main()部分从一个数组中删除第一个给定的元素。

算法

第1步 – 首先,我们需要导入fmt包。

第2步 – 现在,我们需要启动main()函数。

第3步 – 在这里,使用make()函数初始化一个整数数组,并将数值追加到数组中。此外,使用fmt.Println()函数在屏幕上打印该数组。

第4步 – 在一个变量中存储索引,在这之前的元素应该被删除。将存在于该索引的元素存储在一个变量中。

第5步 – 现在,要对数组进行重新切分,请使用:操作符,并将所提供的索引之前的值存储在一个变量中。

第6步 – 此外,在屏幕上打印最后的数组。

示例

Golang程序使用用户定义的函数从一个数组中移除第一个给定的元素

package main
import "fmt"
func main() {

   // initializing an array
   array := make([]int, 0, 5)
   array = append(array, 11, 20, 13, 44, 56)
   fmt.Println("The given array is:", array)
   var index int = 3
   elem := array[index]
   result := array[index:]
   fmt.Println()
   fmt.Println("The provided index is:", index)
   fmt.Println("Array obtained after deleting elements before", elem, "is:\n", result)
}

输出

The given array is: [11 20 13 44 56]
The provided index is: 3
Array obtained after deleting elements before 44 is:
[44 56]

方法3:使用For循环从一个整数数组中删除第一个给定数量的项目

在这个方法中,我们将使用for循环从go编程语言中的数组开始删除某个特定索引之前的值。

算法

第1步 – 首先,我们需要导入fmt包。

第2步 – 现在,我们需要启动main()函数。

第3步 – 在这里,使用make()函数初始化一个整数数组,并将数值追加到数组中。此外,在屏幕上打印该数组。

第4步 – 将索引和该索引的值存储在一个变量中,在该变量之前的元素应被删除。

第5步 – 现在,使用for循环遍历数组,并将存在于索引之后的元素存储在新数组中。

第6步 – 最后,在屏幕上打印最后的数组。

示例

Golang程序使用for循环从一个整数阵列中移除第一个给定数量的项目

package main
import "fmt"
func main() {
   array := make([]int, 0, 8)
   var result []int
   array = append(array, 11, 20, 13, 44, 56, 96, 54, 97)
   fmt.Println("The given array is:", array)

   // getting the index
   var index int = 3

   // re-slicing the array
   for i := 0; i < len(array); i++ {
      if i >= index {
         result = append(result, array[i])
      }
   }
   elem := array[index]
   fmt.Println()
   fmt.Println("The provided index is:", index)
   fmt.Println("Array obtained after deleting elements before", elem, "is:\n", result)
}

输出

The given array is: [11 20 13 44 56 96 54 97]
The provided index is: 3
Array obtained after deleting elements before 44 is:
[44 56 96 54 97]

结论

我们已经成功地编译并执行了一个go语言程序,以去除数组中的第一个给定数量的项目,同时还有例子。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程