How to check pointer or interface is nil?
Example
package main
import (
"fmt"
)
type Temp struct {
}
func main() {
var pnt *Temp // pointer
var inf interface{} // interface declaration
inf = pnt // inf is a non-nil interface holding a nil pointer (pnt)
fmt.Printf("pnt is a nil pointer: %v\n", pnt == nil)
fmt.Printf("inf is a nil interface: %v\n", inf == nil)
fmt.Printf("inf is a interface holding a nil pointer: %v\n", inf == (*Temp)(nil))
}
Output
pnt is a nil pointer: true
inf is a nil interface: false
inf is a interface holding a nil pointer: true
Most Helpful This Week
Catch values from Goroutines
How can I convert a string variable into Boolean, Integer or Float type in Golang?
Regular expression to extract text between square brackets
Find element in a slice and move it to first position?
Encoding and Decoding using json.Marshal and json.Unmarshal
What is GOPATH?