闹钟里的时间写成 "07:30"。写 Minutes(clock),返回从半夜 0 点起过了几分钟("07:30" 是 450)和 nil。格式不对、不是数、小时不在 0–23、分钟不在 0–59,都返回 0 和错误 "bad time"。
Minutes("07:30")→(450, None)Minutes("7:5x")→(0, 'bad time')Minutes("25:00")→(0, 'bad time')func Minutes(clock string) (int, error)package main
import (
"errors"
"strconv"
"strings"
)
func Minutes(clock string) (int, error) {
parts := strings.Split(clock, ":")
if len(parts) != 2 {
return 0, errors.New("bad time")
}
h, err := strconv.Atoi(parts[0])
if err != nil {
return 0, errors.New("bad time")
}
m := 0
// 在这里写:照着小时那段,把 parts[1] 变成 m,出错就返回错误
// 在这里写:小时或分钟超出范围,就返回错误
return h*60 + m, nil
}
写好了先点「运行」试试示例,没问题再点「提交」。