Golang程序 从一个数组中使用指定的索引范围获得子数组

Golang程序 从一个数组中使用指定的索引范围获得子数组

在本教程中,我们将编写一个go语言程序,使用指定的索引范围从一个数组中获得子数组。子数组是一个数组中连续的部分,由一系列的索引指定。例如,给定数组[1, 2, 3, 4, 5]和索引范围[1, 3],得到的子数组将是[2, 3, 4]。

语法

func make ([] type, size, capacity)
Go

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

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

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

方法1:在主函数()之外使用用户定义的函数

我们将创建的函数将接受数组以及开始和结束索引,并返回最终的子数组,我们可以存储并打印在屏幕上。

算法

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

第2步 - 然后,我们需要创建一个函数来获得子数组。这个函数接受一个数组作为参数并返回最终的子数组。

第 3 步 – 在这个函数中创建一个空的子数组。使用for循环来迭代数组,并将开始和结束索引之间的元素存储在上面创建的子数组中。

第4 步 – 返回最终的子数组。

第5步 - 创建main()函数。初始化一个数组并将元素存储到其中。进一步使用fmt.Println()函数在屏幕上打印这个数组。

第 6 步 – 现在,将开始和结束的索引存储到一个变量中,并将数组和索引作为参数传递给函数,调用getSubArray()函数。

第7步 - 现在,存储从函数中得到的结果数组,并将其打印在屏幕上。

例子

在这个例子中,我们将使用一个用户定义的函数从一个数组中获得一个子数组,使用一个用户定义的外部函数。

package main
import "fmt"
// function to get a sub array
func getSubArray(arr []int, startIndex int, endIndex int) [3]int {

   // Initialize the subarray
   subArr := [3]int{}

   // Iterate through the specified range of indices
   for i := startIndex; i <= endIndex; i++ {

      // Add the element at the current index to the subarray
      subArr[i-startIndex] = arr[i]
   }
   return subArr
}
func main() {

   // Initialize the array
   array := make([]int, 0, 5)
   array = append(array, 1, 2, 3, 4, 5)
   fmt.Println("The given array is:", array)

   // Specify the range of indices
   startIndex := 1
   endIndex := 3

   // Getting the subarray
   subArr := getSubArray(array, startIndex, endIndex)

   // Print the subarray
   fmt.Println("The sub array obtained from the above array from index", startIndex, "to", endIndex, "is:", subArr)
}
Go

输出

The given array is: [1 2 3 4 5]
The sub array obtained from the above array from index 1 to 3 is: [2 3 4]
Go

方法2:在主函数()内使用用户定义的函数

算法

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

第2步 - 创建main()函数。初始化一个数组并存储元素。进一步使用fmt.Println()函数在屏幕上打印这个数组。

第3步 - 现在,将开始和结束的索引存储到一个变量中,并将这两个变量作为开始和结束的

索引,并将得到的子数组的结果存储在一个变量中。

第4步 - 最后,使用fmt.Println()函数在屏幕上打印得到的子数组。

例子

Golang程序使用内部函数从一个整数数组中使用指定的索引范围获得子数组

package main
import "fmt"
func main() {

   // Initialize the array
   array := make([]int, 0, 5)
   array = append(array, 12, 21, 33, 47, 56)
   fmt.Println("The given array is:", array)

   // Specify the range of indices
   startIndex := 0
   endIndex := 2

   // Get the subarray using the copy function
   subArr := array[startIndex : endIndex+1]

   // Print the subarray
   fmt.Println("The sub array obtained from the above array from index", startIndex, "to", endIndex, "is:", subArr)
}
Go

输出

The given array is: [12 21 33 47 56]
The sub array obtained from the above array from index 0 to 2 is: [12 21 33]
Go

总结

我们已经成功地编译并执行了一个Go语言程序,使用指定的索引范围从一个数组中获取子数组。我们在这里使用了两个程序。在第一个程序中,我们使用了一个用户定义的外部函数,而在第二个程序中,我们使用了内部库函数来实现这个结果。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册