账单上的每一行是一个 Line:名字、单价 Price、数量 Qty。先给 Line 写方法 Cost(),返回这一行的钱(单价乘数量);再写 Receipt(lines),用它把整张账单加起来。空账单就是 0。
Receipt([]Line{{"pencil", 2, 5}, {"notebook", 8, 1}})→18Receipt([]Line{})→0func Receipt(lines []Line) intpackage main
type Line struct {
Name string
Price int
Qty int
}
func (l Line) Cost() int {
// 在这里写:返回单价乘数量
return 0
}
func Receipt(lines []Line) int {
total := 0
for _, l := range lines {
// 在这里写:把这一行的 Cost() 加进 total
}
return total
}
写好了先点「运行」试试示例,没问题再点「提交」。