, bir şeyin bir işaretçi nil arayüzü dönüştürmeye çalışırken aşağıdaki hata nedeniyle başarısız: Burada interface conversion: interface is nil, not *main.Node
NULL arabirimini Golang'daki bir şeyin işaretçisine dönüştürün? Aşağıdaki kod parçası olarak
type Nexter interface {
Next() Nexter
}
type Node struct {
next Nexter
}
func (n *Node) Next() Nexter {...}
func main() {
var p Nexter
var n *Node
fmt.Println(n == nil) // will print true
n = p.(*Node) // will fail
}
Play bağlantısı: https://play.golang.org/p/2cgyfUStCI
Neden bu tam başarısız oluyor? Bu
n = (*Node)(nil)
yapmak tamamen mümkün, bu yüzden bir nil arayüzünden başlayarak benzer bir etkiyi elde edebilirsiniz nasıl merak ediyorum. (Sadece bir arabirim) statik tip Nexter
bir değişken birçok farklı dinamik türleri değerlerini tutabilir çünkü