Spitzenwitz: nil überschreiben

Man kann in Go nil überschreiben. Leider nur lokal.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
package main

import (
	"errors"
	"fmt"
)

func main() {
	nil := errors.New("Gnihihi")

	err := doStuff()
	if err == nil {
		fmt.Println("Juhu!")
	} else {
		fmt.Println("Ups: ", err)
	}
}

func doStuff() error {
	return nil
}

In Go-Playground ausprobieren.