go 如何鏈式呼叫

2021-09-27 08:03:52 字數 1123 閱讀 2856

go 的錯誤處理機制是返回錯誤,但是鏈式呼叫只能有乙個返回值,如果做到返回乙個值並且能夠處理錯誤資訊呢,可以用go 支援函式式程式設計實現。

模擬htttp傳送請求的過程,逐步完成對request請求體的封裝然後呼叫傳送方法

1,定義了乙個request結構體模擬request請求

2,定義了乙個函式型別,返回*request和error

3,create方法返回乙個函式型別(這裡可以做request的初始化)

4,withmethod,withbody可以完成對request的封裝,並且處理上乙個方法的錯誤,並將錯誤傳遞給下乙個方法。

5,send方法處理上乙個方法錯誤,並傳送請求。

import

("fmt"

"testing"

)func

test_func

(t *testing.t)

}type request struct

type requestoption func()

(*request,

error

)func

(r *request)

withcreate

() requestoption

}func

(opt requestoption)

withmethod

(method string

) requestoption

r.method = method

return r, err }}

func

(opt requestoption)

withbody

(body string

) requestoption

r.body = body

return r, err }}

func

(opt requestoption)

send()

error

fmt.

printf

("傳送%s請求,請求體為%s"

, r.method, r.body)

return

nil}

jQuery鏈式呼叫

鏈式 input type button eq 0 click function end eq 1 click function end eq 2 toggle function function 找出type型別為button的input元素 找到第乙個按鈕,並繫結click事件處理函式 返回所有...

JQ鏈式呼叫

1.鏈式呼叫 形式 box css width 200px css height 200px css background color green 2.對屬性進行操作可以使用json形式 box css 3.事件中的this指向 jquery中提供了乙個方法,可以將js物件轉換為jquery物件 語...

python鏈式呼叫

所謂鏈式呼叫就是呼叫完乙個函式後還能再繼續呼叫其它函式,這樣大大減少了 量,尤其是專案比較大的時候,普通呼叫就是物件名.函式1 物件名.函式2 people.setname 小海 people.setage 20 而鏈式呼叫就是可以只寫一次物件名,就可以達到同樣的效果,原理就是每次呼叫返回的是乙個物...