問題タブ [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.

0 投票する
1 に答える
2652 参照

go - goで同等のインターフェースを実装するにはどうすればよいですか?

私は最近Goの勉強を始めて、次の問題に直面しました。Comparable インターフェイスを実装したい。次のコードがあります:

だから私はエラーが発生しています

そして、compare メソッドTComparableパラメーターとして取るTComparable.

多分私は何かを逃したか理解できませんでしたが、そのようなことは可能ですか?

0 投票する
1 に答える
787 参照

json - バイト配列から構造体を作成する

json.Marshalインターフェイスを使用してa を受け入れ、map[string]interface{}それを a に変換します[]byte(これはバイト配列ですか?)

私はこの出力を得る

基礎となるバイトは、以下の宣言の構造体に関連しています

dataタイプの変数を取得して生成したいPerson struct

それ、どうやったら出来るの?

0 投票する
1 に答える
12674 参照

pointers - Goでは、値が(任意の)ポインタ型であることを確認するにはどうすればよいですか?

のスライスがinterface{}あり、このスライスにポインター フィールド値が含まれているかどうかを確認する必要があります。

説明の例:

0 投票する
1 に答える
1339 参照

go - JSON 整数を空のインターフェイスにアンマーシャリングすると、間違った型アサーションが発生する

私はこのコードを持っています。インターフェイスが int にアサートされる型であると期待しています。ただし、インターフェイスのタイプは代わりに float64 です。なぜこれが起こっているのか誰でも説明できますか?そして、それを回避する最善の方法は何ですか。

このコードは、「X は float64 です」と出力します。そこでコードを実行できますhttps://play.golang.org/p/9L9unW8l3n

0 投票する
1 に答える
1503 参照

go - GoLang - インターフェイスを受け入れる関数に nil を渡す

最近、golang でループに陥る何かに出くわしました。

このコードは、createRequestNoBodynil が直接渡された場合に機能しますが、呼び出し元の関数でset を使用して呼び出すとhttp.NewRequestパニックが発生します。createRequest*bytes.Buffernil

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