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变量。
第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中的预定义函数来实现这个结果。