go defer读不到最新error

package main

import (
	"errors"
	"fmt"
)

func main() {
	err := errors.New("err1")
	defer fmt.Println(err.Error())
	err = errors.New("err2")
}

defer只会记住执行到此处变量值,除了error,其他类型也是如此,包括指针。

posted on 2024-06-29 17:22  王景迁  阅读(2)  评论(0编辑  收藏  举报

导航