Удаление из map в цикле — глюк?
1 2 3 4 5 6 7 8 9 10 11 12 13 |
package main import "fmt" func main() { m := map[string]int{"a": 1, "b": 2, "c": 3} for k := range m { delete(m, k) } fmt.Println("Left in map:", m) } |
"Почему иногда остаётся элемент? Или не остаётся. Или остаётся другой... Это баг?"
Почему SetName не работает?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
package main import "fmt" type User struct { name string } func (u *User) SetName(name string) { u.name = name } func main() { var u *User u.SetName("Gopher") fmt.Println("Name:", u.name) } |
"Почему не паника? Почему это вообще работает?!"
Что не так с этим defer?
1 2 3 4 5 6 7 8 9 10 11 12 |
package main import "fmt" func main() { for i := 0; i < 3; i++ { defer fmt.Println("Index:", i) } } |
❓ "Почему вывод не 2, 1, 0? Что-то не так с defer или с i?"
Как перехватить любую ошибку в приложении на golang и выполнить перезагрузку самой программы?