Skip to content

【勘误】使用迭代变量时的闭包问题 #4

Description

@huntersman

原文链接

使用Go版本1.25运行

package main

import (
	"fmt"
)

func main() {
	var funcs []func()

	for i := 0; i < 3; i++ {
		funcs = append(funcs, func() {
			fmt.Println(i)
		})
	}

	for _, f := range funcs {
		f()
	}
}

得到的结果是

0
1
2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions