• 请不要在回答技术问题时复制粘贴 AI 生成的内容
GjriFeu
V2EX  ›  程序员

Golang 语法问题

  •  
  •   GjriFeu · Nov 9, 2016 · 3222 views
    This topic created in 3472 days ago, the information mentioned may be changed or developed.

    func (c *Client) Do(req *Request) (resp *Response, err error)

    ( c *Client )加在这里是什么意思啊 // net/http 包中的方法 初学 Go ,望各位指导

    Supplement 1  ·  Nov 14, 2016
    - -
    go 中一个文件想要引用另一个文件中的函数怎么写
    18 replies    2016-11-14 17:32:50 +08:00
    JoshuaJin
        1
    JoshuaJin  
       Nov 9, 2016
    函数定义类型, 即这个函数是定义在某个类型上的。如你举的这个例子,可以使用如下代码调用这个函数:
    var c *Client
    .......
    c.Do(req, resp)
    goophy
        2
    goophy  
       Nov 9, 2016
    Do 是 *Client 实例的方法。
    ```golang
    c := new(Client)
    //or
    c := &Client{}

    c.Do(...)
    ```
    kiwi95
        4
    kiwi95  
       Nov 9, 2016
    这就是 golang 的 receiver 啊,为类型定义方法,或者说绑定方法 https://tour.golang.org/methods/3
    GjriFeu
        5
    GjriFeu  
    OP
       Nov 9, 2016
    @JoshuaJin
    @goophy
    奥懂了谢谢
    jerray
        6
    jerray  
       Nov 9, 2016
    我觉得写成这样你就明白了:

    ```golang
    func Do(c *Client, req *Request) (resp *Response, err error)
    ```
    GjriFeu
        7
    GjriFeu  
    OP
       Nov 9, 2016
    @kiwi95 这个解释满分
    GjriFeu
        8
    GjriFeu  
    OP
       Nov 9, 2016
    @jerray 像 C++的 this 指针么。。
    palmers
        9
    palmers  
       Nov 9, 2016
    golang 的语法好新奇呀
    GjriFeu
        10
    GjriFeu  
    OP
       Nov 9, 2016
    @palmers 看着有点别扭
    pathletboy
        11
    pathletboy  
       Nov 9, 2016
    @GjriFeu 从 c++角度看,本质就是 this 指针,可以自定义名。
    palmers
        12
    palmers  
       Nov 9, 2016
    @GjriFeu 恩恩 尤其是从 javascript java python 这些语言的角度看 真的很别扭
    janxin
        13
    janxin  
       Nov 9, 2016 via iPhone
    @palmers golamg 没有类
    maomaomao001
        14
    maomaomao001  
       Nov 9, 2016 via Android
    这写法~~怎么感觉比 C 还难
    mingyun
        15
    mingyun  
       Nov 9, 2016
    初学 golang 也感觉这语言好怪异
    bluefalconjun
        16
    bluefalconjun  
       Nov 10, 2016
    这是 method 扩展可以加入 Interface
    这部分虽然有点绕... 但是很有用啊
    beiping96
        17
    beiping96  
       Nov 10, 2016
    GjriFeu
        18
    GjriFeu  
    OP
       Nov 14, 2016
    up.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1140 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 18:12 · PVG 02:12 · LAX 11:12 · JFK 14:12
    ♥ Do have faith in what you're doing.