golang의 'method.Call'에 적합한 숫자 유형을 만드는 좋은 방법이 있습니까?

WBOY
풀어 주다: 2024-02-08 23:06:08
앞으로
1181명이 탐색했습니다.

golang의 method.Call에 적합한 숫자 유형을 만드는 좋은 방법이 있습니까?

PHP 편집기 Youzi golang에서 method.Call 메서드를 사용하여 함수를 호출할 때 숫자 유형 매개변수에 몇 가지 문제가 발생할 수 있습니다. 하지만 이 문제를 해결할 수 있는 몇 가지 방법이 있습니다. 먼저 숫자 유형을 해당 Reflect.Value 유형으로 변환한 다음 이를 method.Call 메소드에 전달할 수 있습니다. 또한 반사 방법을 사용하여 함수의 매개변수 유형을 획득하고 매개변수 유형에 따라 해당 처리를 수행할 수도 있습니다. 간단히 말해서, 이러한 메소드를 통해 우리는 숫자형을 golang의 메소드 호출에 적합한 숫자형으로 만들 수 있어 이 문제를 해결할 수 있습니다.

질문 내용

Code Go Playground:

으아악

출력:

으아악

메서드를 동적으로 호출해야 하는데 매개변수가 다른 데이터 형식에서 나오므로 숫자 유형을 변환해야 하기 때문입니다. 예를 들어 Golang에서 JSON을 구문 분석할 때 지정되지 않은 숫자 유형은 아마도 int여야 하지만 float64로 처리됩니다.

코드가 형편없지만 잘 작동합니다.

이 작업을 수행하는 더 좋은 방법이 있는지 궁금합니다.

해결 방법

reflect API를 사용하여 값을 변환하세요.

으아악

패닉을 방지하기 위해 이 코드는 변환하기 전에 변환이 허용되는지 확인합니다.

PlayGround에서 코드를 실행하세요!

위 내용은 golang의 'method.Call'에 적합한 숫자 유형을 만드는 좋은 방법이 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!