1 package main 2 3 import ( 4 "fmt" 5 "reflect" 6 "unsafe" 7 ) 8 9 func forceLen ( dst unsafe . Pointer , n int ) { 10 ( * reflect . SliceHeader ) ( dst ) . Len = n 11 } 12 13 func main ( ) { 14 buf : = append ( make ( [ ] int , 0 , 10 ) , 7 , 8 , 9 , 10 ) 15 _ = append ( buf , 11 ) 16 17 fmt . Println ( buf ) 18 19 forceLen ( unsafe . Pointer ( & buf ) , 6 ) 20 21 fmt . Println ( buf ) 22 } Чем закончится программа? Выведет программа завершится и напечатает… Паника напечатает до паники, потом panic Deadlock all goroutines are asleep Не скомпилируется ошибка компиляции Гонка данных -race найдёт data race Недетерминировано вывод меняется от запуска к запуску Зависнет не завершится, но и не deadlock
Проверить Сначала подумай без запуска — на собесе компилятора не будет.