Golang 使用数组计算平均值

Golang 使用数组计算平均值

在本教程中,我们将看到如何编写一个Go语言程序,使用数组计算数字的平均值。在这个示例中,我们创建了两个程序。在第一种方法中,我们使用一个用户自定义的函数来计算平均值,而在第二种方法中,我们使用内部的Go函数来找到相同的结果。

方法1:使用数组计算数字的平均值

在这种方法中,我们将创建一个单独的函数,并将数组传递给它。该函数接受数组作为参数,并在计算平均值后返回整数值。

步骤

第1步 - 导入fmt包。

第2步 - 定义一个名为avgOfArray()的函数。它接受数组和数组长度作为参数,并将平均值作为输出返回。

第3步 - 开始main()函数。

第4步 - 初始化一个整数数组并将值存储在其中。然后在屏幕上打印数组。

第5步 - 将数组的长度存储在名为n的变量中,并通过传递所需的参数来调用avgOfArray()函数。

第6步 - 在函数中,使用 for 循环遍历数组,并通过更新累加和变量以每个数组元素更新和的方法来计算和。

第7步 - 计算和后,通过将和除以数组的长度来计算平均值,并将其存储在名为avg的变量中。

第8步 - 将平均值存储在名为result的变量中,并使用fmt.Println()函数在屏幕上打印出来。

示例

使用数组计算数字的平均值的Golang程序。以下代码说明如何使用用户定义的函数找到数组的平均值。

package main
import "fmt"

// defining a function to find average
func avgOfArray(array [4]int, n int) float64 {
   var sum int = 0
   var i int = 0
   for i = 0; i < n; i++ {
      sum += (array[i])
   }
   var avg float64 = float64(sum) / float64(n)
   return avg
}
func main() {
   arr1 := [4]int{10, 20, 30, 40}
   fmt.Println("The given array whose average we wish to calculate is:", arr1)
   var n int = len(arr1)

   // calling avgOfArray() function
   result := avgOfArray(arr1, n)
   fmt.Println("The average of the above mentioned array is:", result)
}

输出

The given array whose average we wish to calculate is: [10 20 30 40]
The average of the above mentioned array is: 25

解释

在这个程序中,我们导入了fmt包,并创建了一个函数。然后在调用main()函数后,我们初始化了一个整数数组,并为其赋值,然后将数组传递给函数。然后将获得的结果存储起来并打印到屏幕上。

方法2:使用内部函数找到数组的平均值

在这种方法中,我们将使用Go语言中的预定义函数来计算数组元素的平均值。我们使用的函数有make()、append()和len()。

步骤

步骤1 − 导入fmt包。

步骤2 − 创建main()函数。

步骤3 − 使用make()函数初始化一个容量为0,长度为5的数组。

步骤4 − 初始化一个整数变量来存储数组变量的总和,并使用append()函数向数组添加整数值。

步骤5 − 使用range()函数遍历数组,并通过将值添加到sum变量中来更新sum变量。

步骤6 − 现在,为了计算数组的平均值,将sum变量除以数组的长度,并将结果存储在avg变量中。

步骤7 − 使用fmt.Println()函数将最终结果打印到屏幕上。

语法

func make ([] type, size, capacity)

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

func len(v Type) int

len() 函数用于获取任何参数的长度。它接受一个参数作为数据类型变量,我们希望找到其长度,并返回整数值,该值即为变量的长度。

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

append函数用于向数组切片中添加值。它接受多个参数。第一个参数是我们要向其添加值的数组,然后是要添加的值。函数然后返回包含所有值的数组的最终切片。

示例

Golang程序使用内部函数来找到数组的平均值。

package main
import "fmt"
func main() {

   // Create the array
   array := make([]int, 0, 5)
   array = append(array, 1, 2, 3, 4, 5)
   var sum int = 0
   for _, val := range array {
      sum = sum + val
   }
   fmt.Println("The given array is:", array)

   // Calculate the average of array elements
   avg := sum / len(array)
   fmt.Println("Average of above array is:", avg)
}

输出

The given array is: [1 2 3 4 5]
Average of above array is: 3

解释

在这个程序中,我们导入了fmt包并调用了main()函数,然后初始化了一个整数数组并给它们赋值。接着,我们使用for循环来计算数组的每个元素的和,并通过将和除以数组的长度来计算平均值。

结论

我们成功编译并执行了一个使用数组计算平均值的golang程序,并提供了示例。在第一个示例中,我们创建了一个外部函数来计算数组的平均值,而在第二个示例中,我们使用了go中预定义的函数来实现结果。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程