max{max=v}elseifv"/> max{max=v}elseifv">

 >  기사  >  백엔드 개발  >  잘못된 연산: v > max(유형 매개변수 T와 >는 비교할 수 없음)

잘못된 연산: v > max(유형 매개변수 T와 >는 비교할 수 없음)

WBOY
WBOY앞으로
2024-02-14 19:54:09640검색

无效操作:v > max(유형 매개변수 T 및 >는 비교할 수 없음)

php 편집기 Apple은 다음과 같은 일반적인 오류 메시지를 분석하기 위해 왔습니다: "잘못된 연산: v > max(유형 매개변수 T 및 >는 비교할 수 없음)". PHP 언어로 프로그래밍할 때, 특히 유형 매개변수를 비교할 때 이 오류가 발생할 수 있습니다. 이 기사에서는 독자가 이 잘못된 작업을 더 잘 이해하고 해결할 수 있도록 이 오류의 원인과 이를 올바르게 처리하는 방법을 자세히 설명합니다. 비교할 수 없는 두 가지 유형을 비교합니다. 이 문제를 해결하는 열쇠는 비교된 유형이 비교 가능한지 확인하는 것입니다. 다음에서는 구체적인 솔루션을 단계별로 소개하겠습니다

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 约束。 comparable 的意思是:可比较。因此,您可以对该类型的值使用 == 运算符。这并不意味着它们是有序的,这是使用 2d73dfacf92ffcf1e85bc65fe58d9c2e주문한 제약조건은

에 있습니다. golang.org/x/exp/ 中定义constraints 包,请参阅 constraints.ordered 코드로 컴파일:

으아아아

go 놀이터

에서 사용해 보세요. 0 값으로 시작하기 때문에 잘못된 결과가 나옵니다.

0 값으로 유지됩니다.

minmax ,并且如果传递的切片中的所有值都大于或小于零值,则 minmax간단한 수정은 전달된 슬라이스가 비어 있지 않은 경우 첫 번째 값으로 초기화하는 것입니다.

:

으아아아 minmax이 결과는 다음과 같습니다(

go 놀이터

에서 시도해 보세요): 으아아아 부동 소수점 유형을 사용하는 경우 다른 부동 소수점 숫자와의 순서가 지정되지 않으므로

값을 명시적으로 처리해야 합니다.

위 내용은 잘못된 연산: v > max(유형 매개변수 T와 >는 비교할 수 없음)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제