go rpc调用,接口的方法实现案例,go多态小案例 - 前端笔记-package main import ( fmt net &nbs...

学习笔记

点滴记忆
回忆过往
首页>> web后端 >>go rpc调用,接口的方法实现案例,go多态小案例 - 前端笔记
package main

import (
    "fmt"
    "net"
    "net/rpc"
    "net/rpc/jsonrpc"
)

// 结构体
type Info struct{}

// 结构体方法
func (this Info) Liu(name string, resp *string) error {
    *resp = name + " 刘洋"
    return nil
}

// 结构体方法
func (this Info) Yang(name string, resp *string) error {
    *resp = name + " 刘洋1213"
    return nil
}

// 接口 + 函数 实现了 rpc的调用必须 和 接口定义的函数一样的传参
// 定义接口
type Minst interface {
    Liu(string, *string) error
    Yang(string, *string) error
}

// 函数
func initADD(i Minst) {
    rpc.RegisterName("hell", i)
}
func main() {
    // 远程调用函数
    //rpc.RegisterName("hell", new(Info))
    initADD(new(Info))
    // 建立链接
    fmt.Println("建立链接")
    l, err := net.Listen("tcp", ":8000")
    if err != nil {
        fmt.Println("err or", err)
        return
    }
    defer l.Close()
    fmt.Println("开始监听")
    conn, err := l.Accept()
    if err != nil {
        fmt.Println("error or", err)
        return
    }
    defer conn.Close()
    //rpc.ServeConn(conn)
    jsonrpc.ServeConn(conn)
}


×

感谢您的支持,我们会一直保持!

扫码支持
请土豪扫码随意打赏

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

打赏作者
版权所有,转载注意明处:前端笔记 » go rpc调用,接口的方法实现案例,go多态小案例

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)