go语言中的面向对象
- 编辑时间: 2022-09-19 22:04:27
- 浏览量: 730
- 作者: makerroot
- 文章分类: go后端
- 评论数: 暂无评论
方法, 类, 方法继承, 接口, 多态的简单实现
package main import "fmt" type BaseNum struct { num1 int num2 int } type Add struct { BaseNum } type Sub struct { BaseNum } func (a *Add) Opt() int { return a.num1 + a.num2 } func (s *Sub) Opt() int { return s.num1 - s.num2 } type Opter interface { Opt() int } func Multistate(o Opter) int { value := o.Opt() return value } type Factory struct { } func (f *Factory) FacMethod(a, b int, operator string) (value int) { var i Opter switch operator { case "+": var AddNum Add = Add{BaseNum{a, b}} i = &AddNum case "-": var SubNum Sub = Sub{BaseNum{a, b}} i = &SubNum } value = Multistate(i) return } func main() { var a Factory value := a.FacMethod(20, 3, "+") fmt.Print(value) }
上一篇: 实现使用字符串函数名,调用函数
下一篇: 海外便宜的云服务器推荐
评论列表
暂无评论
热门阅读
10你有酒我有故事
提交评论