유형을 함수에 전달하여 유형 어설션
Go에서 유형 어설션에는 인터페이스 값이 특정 유형을 구현하는지 확인하는 작업이 포함됩니다. 함수를 통해 이를 달성하려면 Reflect 패키지를 사용하고 예상되는 데이터 유형의 샘플을 제공할 수 있습니다.
함수 선언
사용해야 하는 함수 선언은 다음과 같습니다. :
<code class="go">func myfunction(v interface{}, mytype interface{}) bool</code>
여기서:
사용법
main 함수에서 다음과 같이 myfunction을 호출할 수 있습니다.
<code class="go">assertMatch := myfunction("hello world", "stringSample")</code>
여기서 "stringSample"은 샘플입니다. 문자열 유형의 것입니다. v 값이 문자열이면 함수는 true를 반환합니다. 그렇지 않으면 false를 반환합니다.
예
예는 다음과 같습니다.
<code class="go">package main import ( "fmt" "reflect" ) func myfunction(v interface{}, mytype interface{}) bool { return reflect.TypeOf(v) == reflect.TypeOf(mytype) } func main() { assertNoMatch := myfunction("hello world", map[string]string{}) fmt.Printf("%+v\n", assertNoMatch) assertMatch := myfunction("hello world", "stringSample") fmt.Printf("%+v\n", assertMatch) }</code>
출력:
false true
위 내용은 유형을 함수에 전달하여 Go에서 유형 어설션을 어떻게 수행할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!