GO有没有像PHP HOOK的方法实现呢

hellsam · 2023-02-20 09:39:10 · 1951 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2023-02-20 09:39:10 的主题,其中的信息可能已经有所发展或是发生改变。

比如:正常main调用函数直接调用,可否类似PHP HOOK那样,去调用,这样main腾出来可以处理其他,否则main会卡在哪里等函数执行完毕,

我想过用异步,但是异步调用函数的话,貌似得不到最终的HTTPGET错误OR成功响应值,我像得到返回响应值写到SQL日志中

func main(){ HTTPBODY()
}

func HTTPBODY()string{ //RESULT:GET URL return RESULT }


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1951 次点击  
加入收藏 微博
3 回复  |  直到 2023-02-22 13:51:26
houyanzu
houyanzu · #1 · 2年之前

异步调用,返回值用管道传到想接收的地方。

hellsam
hellsam · #2 · 2年之前
houyanzuhouyanzu #1 回复

异步调用,返回值用管道传到想接收的地方。

大佬可以给个demo?

guokun1998
guokun1998 · #3 · 2年之前
func TestName(t *testing.T) {
    c := make(chan struct{})

    request := func() {
        // do something
        time.Sleep(time.Second)
        c <- struct{}{}
    }

    main := func() {
        request()
        for {
            select {
            case <-c:
                // do something

            default:
                // do something

            }
        }
    }


}

这样应该可以。

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传