gpt4 book ai didi

go - 在 post 中使用函数调用的无限循环

转载 作者:IT王子 更新时间:2023-10-29 02:25:21 26 4
gpt4 key购买 nike

循环,当我通过函数递增 i 时,但不是通过 i++

package main

import "fmt"

func increment(i int) (int) {
i++
return i
}

func condition_true(i int) (bool) {
if i < 10 {
return true
} else {
return false
}
}

func main() {
for i := 1; condition_true(i); increment(i) {
fmt.Println(i)
}
}

compiler to play around

最佳答案

你应该做 i = increment(i)

否则,循环中使用的i不被修改。

for i := 1; condition_true(i); i = increment(i) {
fmt.Println(i)
}

那个像你期望的那样工作。

https://play.golang.org/p/dwHbV1iY0_

或者,允许 increment 通过接收指向它的指针来修改 i:

func increment(i *int) {
*i++
}

然后在循环中像这样使用它:

for i := 1; condition_true(i); increment(&i) {
fmt.Println(i)
}

关于go - 在 post 中使用函数调用的无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45445263/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com