i
関数によってインクリメントするが、viaを使用しない場合、ループがループします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)
}
}
あなたがすべきです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)
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加