-5

我试图Struct在停止之前只循环十次。我的Struct样子

type Book struct {
    Id string
    Title string
}

循环遍历整个事情的代码是

var books []Book;
for _, book := range books {
    fmt.Println(book.Id + " " + book.Title);
}

我曾尝试使用单独的 for 循环,该循环将执行十次,但仅循环了整个Struct十次或执行了Struct十次中的一部分。

4

1 回答 1

1

正如 Jim 在评论部分提到的那样,您正在遍历之前在线声明的所有书籍,顺便说一下,这是一个空切片(因此您根本不会循环)。

尽管在一个范围内的 for 循环中,第一个参数是当前元素的索引。有了,您可以修复循环中的条件以在超出任意限制时退出它

// books is a slice of Book -> []Book
for i, book := range books {
    // If you are on the eleventh element of your slice
    if i == 10 {
        // leave the loop
        break
    }
// Do whatever you want with book
}
于 2021-12-20T15:53:53.083 回答