2022-07-28:以下go语言代码输出什么?A:AA;B:AB;C:BA;D:BB。 package

2022-07-28:以下go语言代码输出什么?A:AA;B:AB;C:BA;D:BB。

package main

import (
    "fmt"
)

func main() {
    f := func() { fmt.Print("A") }
    defer f()
    f = func() { fmt.Print("B") }
    defer f()
}

答案选C。虽然都是f,但是有两次赋值操作,所以两次f不是同一个f。
在这里插入图片描述

本作品采用《CC 协议》,转载必须注明作者和本文链接
微信公众号:福大大架构师每日一题。最新面试题,涉及golang,rust,mysql,redis,云原生,算法,分布式,网络,操作系统。
讨论数量: 1

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!