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 중국어 웹사이트의 기타 관련 기사를 참조하세요!