猿问

Go:基本的 for 循环和 strconv

我是 Go 语言的大一新生,我想问一些基本的事情,我们如何才能使这个功能有意义。

我们需要使用“strconv”来解决这个问题。


  package main


import (

    "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 Student0

I am Student1

I am Student2

I am Student3

I am Student4

I am Student5 

End of session 

Student5 Leaving 

Student4 Leaving 

Student3 Leaving 

Student2 Leaving 

Student1 Leaving 

Student0 Leaving 

Room Empty

我们只需要编写一个 main function() 和一个简单的 for 循环来获得结果。


阿波罗的战车
浏览 185回答 1
1回答

呼唤远方

这是一种方法:fmt.Println("Start of session")defer fmt.Println("Room Empty")for i := 0; i < 6; i++ {&nbsp; &nbsp; s := Student{Name: "Student" + strconv.Itoa(i)}&nbsp; &nbsp; s.Present()&nbsp; &nbsp; defer s.Leave()}fmt.Println("End of session")延迟函数在函数返回时以相反的顺序执行。
随时随地看视频慕课网APP

相关分类

Go
我要回答