2016-06-27 4 views
0

に外部パッケージから流暢なAPIを拡張しますcoolので、私は、私はcoolのための受信機などの外部型を持つことができないので、私がこれまで持って最善をは、私は現在のように、流暢なAPIを提供し、外部のパッケージからオブジェクトを持って行く

のようです、残念ながら

thing.do().cool().stuff() 

のようにそれを使用することができます

私はカスタムのものと組み込みの流暢を組み合わせるので、読みにくくなります。

私は行方不明の拡張された流暢なスタイルを達成するためにいくつかの方法がありますか?

+1

1.「流暢"APIはGoでは実際には慣用的ではありません(Javaでは有用ではありません).2これはできません。 – Volker

+0

@Volker 1.私は、私が持っているものを使って作業しています。2.それが不可能な場合は、答えを出すことができますか? –

答えて

0

いいえ、あなたは「非ローカル型で新しいメソッドを定義することはできません」ということはできません。試してみると、コンパイラから指示されるためです。

はあなたがのような愚かな何かをしたいとしましょう:

import "net/http" 

func (c *http.Client) SayHi() { 
    println("Hi!") 
} 

これはコンパイルされません、あなたはここで確認することができますよう、あなたが上記のエラーメッセージが表示されます:https://play.golang.org/p/FxBMAfR_aN

関連する問題