首页 话题 小组 问答 好文 用户 我的社区 域名交易

[分享]为什么我的 defer 运行结果和示例不一样

发布于 2025-03-22 12:02:14
2
61

package main

import "fmt"

type Test struct { name string }

func (t *Test) Close() { fmt.Println(t.name, " closed") } func main() { ts := []Test{{"a"}, {"b"}, {"c"}} for _, t := range ts { defer t.Close() } }

示例是: c closed c closed c closed

我的运行结果是: c closed b closed a closed

不知道问题出在哪里了

评论 (2)
一个月内的热帖推荐
凯特网
Lv.1普通用户

261

帖子

13

小组

1225

积分

站长交流