Ошибки и defer

defer: порядок выполнения и отличие ожидаемой ошибки от panic

Содержание курса

Что выведет следующая программа? Введите ровно те строки, которые появятся в stdout, каждую с новой строки.

package main

import "fmt"

func f() {
    defer fmt.Println("A")
    defer fmt.Println("B")
    fmt.Println("C")
}

func main() {
    f()
    fmt.Println("D")
}
О данных в ответах

Используйте учебные данные. Не вставляйте пароли, токены, ключи доступа, паспортные и банковские данные, а также персональные данные других людей. Политика обработки данных.