Files
pro-go-study/31-tests/tests/main.go
yanzuoguang 832dac948f feat(main): 添加日志记录功能并更新测试用例- 引入 log 包替代 fmt 进行输出
- 新增 sortAndTotalLog 函数,支持排序和求和的日志记录
- 更新 main 函数调用 sortAndTotalLog 并使用 log 输出结果
- 在 init 函数中设置日志标志- 添加 TestSumLog 测试函数验证 sortAndTotalLog 的正确性
- 修改 TestSumRun 中的测试数据期望值以匹配实际计算结果
2025-11-02 17:53:05 +08:00

50 lines
909 B
Go

package main
import (
"log"
"sort"
)
func sortAndTotal(vals []int) (sorted []int, total int) {
sorted = make([]int, len(vals))
copy(sorted, vals)
sort.Ints(sorted)
for _, v := range sorted {
total += v
// total++
}
return
}
func sortAndTotalLog(vals []int) (sorted []int, total int) {
var logger = log.New(log.Writer(), "sort And Total:", log.Flags()|log.Lmsgprefix)
logger.Printf("Invoked with %v values", len(vals))
sorted = make([]int, len(vals))
copy(sorted, vals)
sort.Ints(sorted)
logger.Printf("Sorted Data: %v", sorted)
for _, v := range sorted {
total += v
// total++
}
logger.Printf("Total: %v", total)
return
}
func main() {
nums := []int{100, 20, 1, 7, 84}
// sorted, total := sortAndTotal(nums)
sorted, total := sortAndTotalLog(nums)
log.Print("Sorted Data:", sorted)
log.Print("Total:", total)
}
func init() {
log.SetFlags(log.Lshortfile | log.Ltime)
}