java调用go接口_使用Go来模拟Java中的接口 实现类

针对项目中,相同的流程业务进行重构,使用Go来简单模拟Java中的接口,实现类的方式进行重构。

分享一简单例子:package main//模拟java中的接口,实现类import "fmt"// 声明一个接口,type workthread interface {    do(name string)}// 传入的wt的子类不同,do方法执行的逻辑也不同func Handle(wt workthread, name string) {    fmt.Println("--------执行do方法前的逻辑------")    wt.do(name)    fmt.Println("--------执行do方法后的逻辑------")}type SparkNode struct {    ClusterName string}func (sn *SparkNode) do(name string) {    fmt.Println("----hello, I'm spark node", "\t", sn.ClusterName)}func (sn *KafkaNode) do(name string) {    fmt.Println("----hello, I'm kafka node\t", sn.ClusterName)}type KafkaNode struct {    ClusterName string}func main() {    sparkNode := &SparkNode{        ClusterName: "k8s",    }    kafkaNode := &KafkaNode{        ClusterName: "kafka-node",    }    Handle(sparkNode, "111")    Handle(kafkaNode, "222")}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值