max{max=v}elseifv"/> max{max=v}elseifv">
php エディタ Apple が一般的なエラー メッセージを分析するためにここにいます: 「無効な操作: v > max (型パラメータ T >)" とは比較できません。PHP 言語でプログラミングするとき、特に型パラメーターを比較するときに、このエラーが発生することがあります。この記事では、読者がよりよく理解できるように、このエラーの原因と正しく処理する方法について詳しく説明します。この問題を解決します。比較できない 2 つの型を比較すると、無効な操作エラーが発生します。この問題を解決するには、比較する型が比較できることを確認することが重要です。以下では、具体的な解決策を段階的に紹介します。
package main import ( "fmt" ) func findMinMax[T comparable](arr []T) (min, max T) { for _, v := range arr { if v > max { max = v } else if v < min { min = v } } return min, max } func main() { arr := []int{1, 2, 3, 4, 5, 6, 7, 8, 9} fmt.Println(findMinMax(arr)) }
findminmax 関数に関して発生している問題の解決を喜んでお手伝いさせていただきます。 v > max または v
関数 findminmax が正しく動作することを期待しています。
t
型パラメータで comarable
制約を使用しました。 比較可能な
は、比較可能なを意味します。したがって、この型の値に対して ==
演算子を使用できます。これは、0f8de288a3430cc7515f1332d3a9f2db 演算子を使用するために必要な、順序付き
であることを意味するものではありません。
順序付けされた制約は、constraints パッケージの
golang.org/x/exp/ で定義されています。constraints.owned
を参照してください。
コードを使用してコンパイルします:
リーリー遊び場に行ってで試してみましょう。
ゼロ値min および
max から開始し、渡されたスライス内のすべての値がゼロ値より大きいか小さい場合、
であるため、間違った結果が得られます。 min または
max はゼロのままになります。
min と
max を最初の値で初期化することです。
リーリー
これは出力されます (
で試してください): リーリー 浮動小数点型を使用する場合は、他の浮動小数点数との順序が指定されていないため、
nan 値を明示的に処理する必要があることに注意してください。
以上が無効な操作: v > max (型パラメータ T と > は比較できません)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。