Golang 寻找平均薪水

Golang 寻找平均薪水

了解组织中雇员的平均薪水对于分析、研究和奖励非常重要。在本文中,我们将使用迭代、reduce函数以及goroutines和channels来寻找go语言中的平均雇员薪水。

步骤

  • CalculateAverage是一个接受float64值的薪水切片作为输入并返回一个float64值的函数。

  • 将总数设为0,并计算薪水切片的长度。使用range循环遍历salaries切片中的每个薪水。

  • 将总数除以计数以获取平均值并返回结果。

  • 在main()函数中,使用提供的float64值创建一个employeeSalaries切片。

  • 使用calculateAverage函数并将结果赋给averageSalary。

  • 使用fmt,将平均收入打印到小数点后两位。

示例1

在此示例中,我们使用循环遍历雇员薪水并找到薪水总和,然后将其除以总员工人数。在这里,我们将使用calculateAverage()函数找到雇员的平均薪水。

package main
import "fmt"
func calculateAverage(salaries []float64) float64 {
   sum := 0.0
   count := len(salaries)
   for _, salary := range salaries {
   sum += salary
   }
   return sum / float64(count)
}
func main() {
   employeeSalaries := []float64{25000.0, 30000.0, 20000.0, 35000.0, 
40000.0}
   averageSalary := calculateAverage(employeeSalaries)
   fmt.Printf("Average Salary: %.2f", averageSalary)
}

输出

Average Salary: 30000.00

示例2

这个示例涉及使用 goroutines 和 channels 来计算平均工资。由于它的并行性潜在地提高了性能,这种方法对于较大的数据集非常有帮助。在下面的代码中,我们将使用 goroutines 来找到员工的平均工资。

package main
import (
   "fmt"
   "sync"
)
func calculateAverage(salaries []float64) float64 {
   sum := 0.0
   count := len(salaries)
   var wg sync.WaitGroup
   results := make(chan float64)
   for _, salary := range salaries {
      wg.Add(1)
      go func(salary float64) {
         defer wg.Done()
         results <- salary
      }(salary)
   }
   go func() {
      wg.Wait()
      close(results)
   }()
   for result := range results {
   sum += result
   }
   return sum / float64(count)
}
func main() {
   employeeSalaries := []float64{25000.0, 35000.0, 20000.0, 34000.0, 
40000.0}
   averageSalary := calculateAverage(employeeSalaries)
   fmt.Printf("Average Salary: %.2f", averageSalary)
}

输出

Average Salary: 30800.00

结论

在本文中,我们学习了如何在Go语言中计算员工的平均工资。在这里,我们探索了三种不同的技术来找到平均员工工资,包括循环迭代和使用goroutine。程序的应用包括goroutine中的数据共享、并发数据共享、异步通信等。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程