SberPlatform / СберПлатформа
Актуальность: 1 кв 2025
Задача: Что выведет и почему? go/puzzles
Заголовок раздела «Задача: Что выведет и почему? go/puzzles»func RecoverAndRun() { if r := recover(); r != nil { fmt.Println("return from panic ") }}
func main() { defer func() { fmt.Println("End work ") RecoverAndRun() }()
panic("Panica ")}Задача: Что выведет и почему? go/puzzles
Заголовок раздела «Задача: Что выведет и почему? go/puzzles»type WorkError struct{}
func (e *WorkError) Error() string { return "bad work "}
func work() *WorkError { return &WorkError{}}
func main() { var err error if err = work(); err != nil { fmt.Printf("error: %v\n ", err) } else { fmt.Println("no errors ") }}Задача: Что выведет и почему? go/puzzles
Заголовок раздела «Задача: Что выведет и почему? go/puzzles»func setLength(dst unsafe.Pointer, length int) { (*reflect.SliceHeader)(dst).Len = length}
func main() { m := append(make([]int, 0, 10), 1, 2, 3, 4) _ = append(m, 5)
fmt.Println(m)
setLength(unsafe.Pointer(&m), 6)
fmt.Println(m)}