golang子类指针转父类指针
时间: 2023-07-20 22:13:51 浏览: 212
golang —— 指针实现的栈
在 Golang 中,子类指针转父类指针是可以直接进行的。这是因为 Golang 中的每个类型都有一个隐式的父类型 interface{}。因此,只需将子类指针赋值给父类指针即可将其转换为父类指针。
例如,假设有一个子类结构体 Student 和一个父类结构体 Person:
```
type Person struct {
name string
}
type Student struct {
Person
grade int
}
```
那么可以将一个 Student 类型的指针转换为一个 Person 类型的指针:
```
var s *Student = &Student{Person{"Alice"}, 90}
var p *Person = s
```
在这个例子中,s 是一个 Student 类型的指针,而 p 是一个 Person 类型的指针。将 s 赋值给 p 后,p 将指向 s 指向的同一内存地址,但是类型变为了 Person。
阅读全文