这篇文章包括使用以下方法对数组/片的元素进行求和
- 使用范围形式对数组元素进行求和
- 使用variadic函数
- 由用户输入的元素之和
要理解下面的程序,你必须了解Go语言的以下特点。
示例程序 使用for循环范围的数组元素之和
package main
import (
"fmt"
)
func sum(array []int) int {
result := 0
for _, v := range array {
result += v
}
return result
}
func main() {
numb := []int{1, 2, 3, 4, 5}
fmt.Print("Result :", sum(numb))
}
输出:
Result:15
在上面的程序中,使用速记赋值运算符声明并创建了分片的初始值。
在这个函数中,使用了for和from范围来迭代和计算每个元素,并将结果赋值。
这样就把结果返回给主函数。
最后,使用Print函数将结果打印到控制台。
示例程序 使用变量函数计算数组/片状元素的总和
package main
import (
"fmt"
)
func main() {
numb := []int{1, 2, 3, 4, 5}
fmt.Print("Result :", addArray(numb...))
}
func addArray(numbs ...int) int {
result := 0
for _, numb := range numbs {
result += numb
}
return result
}
输出为
Result:15
在上面的程序中,
创建了带有初始值分配的片子
一个带有变量参数的函数被声明,这些被称为变量函数。
使用for循环的范围类型,Iterated,以及每个迭代元素的总和,将结果分配给结果变量,将结果返回给函数
最后使用print将结果打印到控制台
示例程序--用户输入的数组元素之和
package main
import (
"fmt"
)
func main() {
size := 0
fmt.Print("Number of elements n=")
fmt.Scanln(&size)
fmt.Println("Enter of array elements")
elements := make([]int, size)
for i := 0; i < size; i++ {
fmt.Scanln(&elements[i])
}
fmt.Println("Entered Array of elements:", elements)
result := 0
for i := 0; i < size; i++ {
result += elements[i]
}
fmt.Println("Sum of elements of array:", result)
}
输出是
Number of elements n=5
Enter of array elements
1
3
6
2
8
Entered Array of elements: [1 3 6 2 8]
Sum of elements of array: 20
这里的元素数是由用户输入的,并存储在size变量中。
使用make函数创建一个片断或数组
从用户那里获取数组元素的数量并存储到数组的变量元素下。
最后,使用带有range关键字的for循环得到数组元素的总和,打印到控制台。