我是 Go 语言的大一新生,我想问一些基本的事情,我们如何才能使这个功能有意义。我们需要使用“strconv”来解决这个问题。 package mainimport ( "fat" "strconv")type Student struct { Name string}func (stu *Student) Leave() { fmt.Println(stu.Name + " Leaving")}func (stu *Student) Present() { fmt.Println("I am " + stu.Name)}func main() { fmt.Println("Start of session") for i := 0; i < 6; i++ { s := Student{Name: fmt.Sprintf("Student%d", i)} s.Present() fmt.Println("Room Empty") defer s.Leave()} fmt.Println("End of session")} 输出应该是这样的Start of session I am Student0I am Student1I am Student2I am Student3I am Student4I am Student5 End of session Student5 Leaving Student4 Leaving Student3 Leaving Student2 Leaving Student1 Leaving Student0 Leaving Room Empty我们只需要编写一个 main function() 和一个简单的 for 循环来获得结果。
1 回答
呼唤远方
TA贡献1856条经验 获得超11个赞
这是一种方法:
fmt.Println("Start of session")
defer fmt.Println("Room Empty")
for i := 0; i < 6; i++ {
s := Student{Name: "Student" + strconv.Itoa(i)}
s.Present()
defer s.Leave()
}
fmt.Println("End of session")
延迟函数在函数返回时以相反的顺序执行。
- 1 回答
- 0 关注
- 184 浏览
添加回答
举报
0/150
提交
取消