面试题答案
一键面试package main
import (
"errors"
"fmt"
)
type Score int
var ErrOutOfRange = errors.New("score out of range")
func SetScore(s *Score, value int) error {
if value < 0 || value > 100 {
return ErrOutOfRange
}
*s = Score(value)
return nil
}
你可以这样调用这个函数:
func main() {
var s Score
err := SetScore(&s, 85)
if err != nil {
fmt.Println(err)
} else {
fmt.Printf("Score set to: %d\n", s)
}
err = SetScore(&s, 105)
if err != nil {
fmt.Println(err)
}
}