游满 50 米就能拿一枚徽章。模板里的 Swimmer 已经有方法 Passed(),会告诉你这个人过没过。写 Badges(kids),按顺序返回拿到徽章的名字;没有人拿到就是空切片。
Badges([]Swimmer{{"Ivy", 50}, {"Leo", 25}, {"Max", 100}})→['Ivy', 'Max']Badges([]Swimmer{})→[]func Badges(kids []Swimmer) []stringpackage main
type Swimmer struct {
Name string
Meters int
}
func (s Swimmer) Passed() bool {
return s.Meters >= 50
}
func Badges(kids []Swimmer) []string {
names := []string{}
for _, k := range kids {
// 在这里写:k 过了,就把名字加进 names
}
return names
}
写好了先点「运行」试试示例,没问题再点「提交」。