
如何编写 go-micro 的 example 函数
在编写 go-micro 插件时,编写 example 函数至关重要。然而,有开发者遇到了无法运行示例函数的问题,报错信息为:“incorrect usage. flag provided but not defined: -test.testlogfile”。下面将详细介绍如何解决此问题。
首先,请检查命令行参数。错误消息表明可能有未定义的参数 -test.testlogfile。
解决方案:
- 检查 run > params 配置,确保没有包含未定义的参数。
- 如果存在该参数,请将其删除。
以下是正确编写 example 函数的一部分代码示例:
// create test server
service := micro.NewService(
micro.Name("greeter"),
micro.WrapHandler(NewHandlerWrapper(tracer)),
)
service.Init()
micro.RegisterHandler(service.Server(), new(Greeter))
service.Run()
// create client service
cli := micro.NewService(
micro.Name("micro_client"),
micro.WrapClient(NewClientWrapper(tracer)),
)
cli.Init()
c := cli.Client()
request := c.NewRequest("greeter", "Greeter.Hello", "john", client.WithContentType("application/json"))
var response string
for i := 0; i < 100; i++ {
time.Sleep(time.Millisecond * 100)
if err := c.Call(context.TODO(), request, &response); err != nil {
log.Fatalf("call service err %v n", err)
}
}
log.Fatalf("response: %v n", response)










