Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go:环路和strconv的基本功能_Go - Fatal编程技术网

Go:环路和strconv的基本功能

Go:环路和strconv的基本功能,go,Go,我是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(

我是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")
} 

我们只需编写一个主函数和一个简单的for循环即可获得结果。

这里有一种方法:

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

延迟函数在函数返回时按相反顺序执行

我们只需要写一个主函数和一个简单的for循环就可以得到结果。我完全不知道这一点,我正在考虑使用defer并将其放入for循环,但它不能正常工作。我们真的需要strconv在这个程序中吗。我想我们真的不需要这个导入。@S先生:对于大于一个十进制数字的数字,您需要strconv。停止将旧问题编辑成完全不同的问题。如果你有一个新问题,发布一个新问题。我们应该使用leave函数和strconv,我们可以这样做吗?谢谢,这很有意义。还有一个问题,我们真的需要strconv在这个程序中吗?如果我们需要如何使用strconv?但是我们应该使用它….'package main import fmt strconv type Student struct{Name string}func stu*Student Leave{fmt.Printlnstu.Name+Leaving}func stu*Student Present{fmt.PrintlnI am+stu.Name}func main{fmt.println会话开始延迟fmt.PrintlnRoom为空,因为i:=0;i<6;i++{s:=Student{Name:Student+strconv.Itoai}s.当前延迟s.离开}fmt.println会话结束}
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")