- 新增 sortAndTotalLog 函数,支持排序和求和的日志记录 - 更新 main 函数调用 sortAndTotalLog 并使用 log 输出结果 - 在 init 函数中设置日志标志- 添加 TestSumLog 测试函数验证 sortAndTotalLog 的正确性 - 修改 TestSumRun 中的测试数据期望值以匹配实际计算结果
50 lines
909 B
Go
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)
|
|
}
|