>백엔드 개발 >Golang >매핑의 다양한 함수 유형, Golang

매핑의 다양한 함수 유형, Golang

WBOY
WBOY앞으로
2024-02-12 08:39:09888검색

매핑의 다양한 함수 유형, Golang

Map은 하나의 값을 다른 값과 연관시킬 수 있는 Golang의 강력한 데이터 구조입니다. Golang에서는 매핑을 사용하여 다양한 유형의 기능을 구현할 수 있습니다. PHP 편집자 Youzi는 이 기사에서 일반 함수, 익명 함수 및 메소드를 포함하여 매핑의 다양한 함수 유형을 소개합니다. 그뿐만 아니라 매핑에서 함수를 값으로 사용하는 방법과 그 강력함과 유연성을 입증하는 방법도 살펴보겠습니다. 초보자이든 숙련된 Golang 개발자이든 관계없이 이 문서에서는 매핑의 함수 유형을 더 잘 이해하고 적용하는 데 도움이 되는 유용한 지식과 예제를 제공합니다. 탐험을 시작해 볼까요!

질문 내용

사용자 입력을 함수에 연결하고 싶습니다. 사용자 입력은 문자열입니다. 예를 들어, "func_name=MyPrintf&s1=你好,世界!" 또는 "func_name=MyAdd&i1=1&i2=2"

각 함수의 코드는

으아아아

저는 아래와 같은 지도를 원합니다.

으아아아

myMap은 사용자가 입력한 func_name 문자열을 통해 함수를 호출할 수 있습니다.

myMap[func_name](s1) 출력: 안녕하세요! myMap[func_name](i1, i2) 출력: 3

이게 가능한가요? 아마도 "eval"을 사용하는 것이 가능하다고 생각하지만 "eval"을 사용하는 것은 좋지 않다고 들었습니다. 그래서 함수 포인터를 사용해볼까 생각했는데 Golang에는 함수 포인터가 없습니다.

Golang 일반 프로그래밍을 시도해 봤습니다.

으아아아

출력: 오류 발생: 유형 제약 조건 외부에서 Myfunc 유형을 사용할 수 없습니다. 인터페이스에 유형 제약 조건이 포함되어 있습니다.

다시 시도해 보세요.

으아아아

출력: 안녕하세요, 세계!

으아아아

출력: 3

작동은 되지만 올바른 기능 유형을 지정해야 하는데 이는 별로 불편합니다. 이 방법은 내 시나리오에 적합하지 않다고 생각합니다. 도와주세요. 내 영어 쓰기가 좋지 않아서 죄송합니다.

해결책

다음을 시도해보세요:

잘못된 유형으로 인한 패닉 오류는 검증되지 않기 때문에 이는 좋은 습관이 아니라고 말씀드리고 싶습니다. 다른 접근 방식을 고려해 보겠습니다.

으아아아

위 내용은 매핑의 다양한 함수 유형, Golang의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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