I just tried the following code in Go.
package main
type inter interface {
aaa() int
}
type impl struct {
inter
}
func main() {
var a inter
a = impl{}
// how to check the function for interface `inter` is not realized?
a.aaa()
}
It can be go build
and go run
. But will receive a panic like:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0xffffffff addr=0x0 pc=0x8972c]
goroutine 1 [running]:
main.(*impl).aaa(0x40c018, 0x41a788, 0xb2ae0, 0x40c018)
<autogenerated>:1 +0x2c
main.main()
/tmp/sandbox029518300/prog.go:15 +0x60
How can I know the a.aaa()
is not realized.