V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
guonaihong
V2EX  ›  Go 编程语言

瑞士军刀! gout v0.0.6 版本发布啦。。。

  •  
  •   guonaihong ·
    guonaihong · 2020-01-06 09:40:34 +08:00 · 3673 次点击
    这是一个创建于 1788 天前的主题,其中的信息可能已经有所发展或是发生改变。

    gout 简介

    gout 是 http client 领域的瑞士军刀,小巧,强大,犀利。

    项目地址

    https://github.com/guonaihong/gout

    最终形态

    gout.feature > sum(all( http_client.feature))

    构架图

    gout-example.gif

    常见问题回答

    • 问:为啥版本号这么保守
      • 答:规划了很多好玩的功能(自定义 benchmark,upstream, select, match),如果版本号不压缩下,过段时间就和 chrome 一样。
    • 问:何为流式架构
      • 答:可以先看上面的构架图,已经很清晰地描述了。有点后悔把这个概念抛出来,现在有很多童鞋问我。流式架构为了横向扩张功能用的设计方式,如果不关心代码垒了很多行 如何保持设计的清晰度,也没必要关心这点。
    • 问:如何参与 gout
      • 答:只要你觉得这样可以让 gout 更好就行。小到一个拼写,大到一个 pr 都可以。提功能 pr 我会尽心审核,在互动的过程也许会学到老司机独门绝技。

    特别感谢下面 github 用户参与 v0.0.6 版本

    deloz,logeable(排名不分先后,如果有童鞋忘了说了,也可以告诉我下)

    小贴士(更多用法请看文档)

    使用 gout 生成 curl 命令

    package main
    
    import (
        "fmt"
        "github.com/guonaihong/gout"
    )
    
    func main() {
        // 1.formdata
        err := gout.GET(":1234").
            SetForm(gout.A{"text", "good", "mode", "A", "voice", gout.FormFile("./t8.go")}).
            Export().Curl().Do()
        // output:
        // curl -X GET -F "text=good" -F "mode=A" -F "voice=@./voice" "http://127.0.0.1:1234"
    
        // 2.json body
        err = gout.GET(":1234").
            SetJSON(gout.H{"key1": "val1", "key2": "val2"}).
            Export().Curl().Do()
        // output:
        // curl -X GET -H "Content-Type:application/json" -d "{\"key1\":\"val1\",\"key2\":\"val2\"}" "http://127.0.0.1:1234"
    
        fmt.Printf("%v\n", err)
    }
    
    9 条回复    2020-01-06 23:10:40 +08:00
    noobsheldon
        1
    noobsheldon  
       2020-01-06 12:39:59 +08:00
    瑞士军刀是用来做什么的?/doge
    guonaihong
        2
    guonaihong  
    OP
       2020-01-06 12:59:09 +08:00
    @noobsheldon 砍 http client 领域的小怪兽。gout 是个 http client 库。
    zxCoder
        3
    zxCoder  
       2020-01-06 15:30:48 +08:00
    害 不会狗语言
    guonaihong
        4
    guonaihong  
    OP
       2020-01-06 18:22:58 +08:00
    @zxCoder golang 用着挺爽,推荐下。哈哈。。。
    loading
        5
    loading  
       2020-01-06 18:39:16 +08:00 via Android
    萌新不懂,这是用来干啥的。
    richzhu
        6
    richzhu  
       2020-01-06 18:47:07 +08:00
    所以这到底是啥, 类似与 gin 的 web 框架??
    guonaihong
        7
    guonaihong  
    OP
       2020-01-06 18:52:45 +08:00
    @richzhu gin 是服务端 lib,gout 是客户端 lib。
    guonaihong
        8
    guonaihong  
    OP
       2020-01-06 18:55:27 +08:00
    @loading gout 是 http 请求库
    ihciah
        9
    ihciah  
       2020-01-06 23:10:40 +08:00
    你说类似 okhttp 大家就明白了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3222 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:45 · PVG 20:45 · LAX 04:45 · JFK 07:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.