AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
## 通过断言接口来询问行为(方法) ~~~ type Show interface { Display() } type View interface { Show View() } type User struct { } func (s User) Display() { } func (s User) View() { } func main() { u := User{} DisplayView(u) } func DisplayView(s Show) { //s.Display() 此时,s只有Display方法,而没有View方法,但是我们就是在有View方法的时候,先用View方法怎么办呢? 因为View方法可能比Display性能更好. 这就叫做**断言查询接口的行为** type OtherView interface { View() } if v, ok := s.(OtherView); ok { v.View() return } v.Display() } ~~~