max{max=v}elseifv"/> max{max=v}elseifv">
Rumah > Artikel > pembangunan bahagian belakang > Operasi tidak sah: v > maks (parameter jenis T dan > tidak boleh dibandingkan)
editor php Apple ada di sini untuk menganalisis mesej ralat biasa untuk anda: "Operasi tidak sah: v > maks (parameter jenis T dan > tidak boleh dibandingkan)". Kami mungkin menghadapi ralat ini semasa pengaturcaraan dalam bahasa PHP, terutamanya apabila membandingkan parameter jenis Artikel ini akan menerangkan secara terperinci punca ralat ini dan cara mengendalikannya dengan betul untuk membantu pembaca memahami dan menyelesaikan operasi tidak sah ini dengan lebih baik membandingkan dua jenis yang tidak dapat dibandingkan. Kunci untuk menyelesaikan masalah ini adalah untuk memastikan bahawa jenis yang dibandingkan adalah setanding Dalam berikut, kami akan memperkenalkan penyelesaian khusus langkah demi langkah
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)) }.
. golang.org/x/exp/ 中定义constraints
包,请参阅 constraints.ordered
Kompilkan dengan kod anda:
import ( "fmt" "golang.org/x/exp/constraints" ) func findminmax[t constraints.ordered](arr []t) (min, max t) { for _, v := range arr { if v > max { max = v } else if v < min { min = v } } return min, max }
Cubalah di
pergi taman permainan. Ia memberikan hasil yang salah kerana anda bermula dengan nilai sifar
akan kekal nilai sifar.
min
和 max
,并且如果传递的切片中的所有值都大于或小于零值,则 min
或 max
Pembetulan mudah adalah dengan memulakan dengan nilai pertama jika kepingan yang diluluskan tidak kosong
func findminmax[t constraints.ordered](arr []t) (min, max t) { if len(arr) > 0 { min, max = arr[0], arr[0] } for _, v := range arr { if v > max { max = v } else if v < min { min = v } } return min, max }
min
和 max
Ini akan menghasilkan (cuba di pergi taman permainan):
1 9
Perhatikan bahawa jika anda menggunakan jenis titik terapung, anda mesti mengendalikan nilai
Atas ialah kandungan terperinci Operasi tidak sah: v > maks (parameter jenis T dan > tidak boleh dibandingkan). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!