Goツアーを行っているところですが、ポインターとインターフェイスについて混乱しています。このGoコードがコンパイルされないのはなぜですか?
package main
type Interface interface {}
type Struct struct {}
func main() {
var ps *Struct
var pi *Interface
pi = ps
_, _ = pi, ps
}
つまり、Struct
がである場合Interface
、なぜではないのでしょう*Struct
か*Interface
。
私が受け取るエラーメッセージは次のとおりです。
prog.go:10: cannot use ps (type *Struct) as type *Interface in assignment:
*Interface is pointer to interface, not interface