// Package score 提供成绩转换与校验功能。 package score import ( "fmt" "strconv" ) // Max 是导出的常量,大写开头,其他包可以使用 score.Max。 const Max = 100 // valid 是包内函数,小写开头,其他包不能直接调用。 func valid(value int) bool { return value >= 0 && value <= Max } // Parse 将文本转换为合法成绩。大写开头,允许其他包调用。 func Parse(text string) (int, error) { value, err := strconv.Atoi(text) if err != nil { return 0, err } if !valid(value) { return 0, fmt.Errorf("成绩 %d 无效,应在 0~%d 之间", value, Max) } return value, nil }