問題タブ [go-interface]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - goで同等のインターフェースを実装するにはどうすればよいですか?
私は最近Goの勉強を始めて、次の問題に直面しました。Comparable インターフェイスを実装したい。次のコードがあります:
だから私はエラーが発生しています
そして、compare メソッドT
はComparable
パラメーターとして取るT
がComparable
.
多分私は何かを逃したか理解できませんでしたが、そのようなことは可能ですか?
json - バイト配列から構造体を作成する
json.Marshal
インターフェイスを使用してa を受け入れ、map[string]interface{}
それを a に変換します[]byte
(これはバイト配列ですか?)
私はこの出力を得る
基礎となるバイトは、以下の宣言の構造体に関連しています
data
タイプの変数を取得して生成したいPerson struct
それ、どうやったら出来るの?
pointers - Goでは、値が(任意の)ポインタ型であることを確認するにはどうすればよいですか?
のスライスがinterface{}
あり、このスライスにポインター フィールド値が含まれているかどうかを確認する必要があります。
説明の例:
go - JSON 整数を空のインターフェイスにアンマーシャリングすると、間違った型アサーションが発生する
私はこのコードを持っています。インターフェイスが int にアサートされる型であると期待しています。ただし、インターフェイスのタイプは代わりに float64 です。なぜこれが起こっているのか誰でも説明できますか?そして、それを回避する最善の方法は何ですか。
このコードは、「X は float64 です」と出力します。そこでコードを実行できますhttps://play.golang.org/p/9L9unW8l3n
go - GoLang - インターフェイスを受け入れる関数に nil を渡す
最近、golang でループに陥る何かに出くわしました。
このコードは、createRequestNoBody
nil が直接渡された場合に機能しますが、呼び出し元の関数でset を使用して呼び出すとhttp.NewRequest
パニックが発生します。createRequest
*bytes.Buffer
nil
http ライブラリの NewRequest 関数には、次のプロトタイプがあります。
func NewRequest(method, urlStr string, body io.Reader) (*Request, error)
インターフェイスはどこio.Reader
にありますか。
nil が変数を介して渡されるとbody
、NewRequest が非 nil になる理由がわかりません。
createRequest
メソッドがパニックになる理由を誰か説明できますか? メソッドdata = createRequest("GET", "https://google.com", nil)
内で非 nil になるときの nil パラメータはどのようになっていますか?NewRequest