"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Go에서 유형 어설션을 위해 유형 변수를 함수에 전달하는 방법은 무엇입니까?

Go에서 유형 어설션을 위해 유형 변수를 함수에 전달하는 방법은 무엇입니까?

2024-11-08에 게시됨
검색:783

How to Pass Type Variables to Functions for Type Assertions in Go?

유형 가정을 위해 유형 변수를 함수에 전달

유형을 함수에 전달하여 유형 가정을 수행하려고 합니다. 기본적으로 다음을 달성하는 것이 목표입니다.

// Note that this is pseudocode, because Type isn't valid here
func myfunction(mystring string, mytype Type) {
    ...

    someInterface := translate(mystring)
    object, ok := someInterface.(mytype)

    ...  // Do other stuff
}

func main() {
    // Desired function call
    myfunction("hello world", map[string]string)
}

myfunction에서 유형 어설션을 성공적으로 수행하려면 다음 함수 선언을 사용하십시오.

package main

import "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) // false

    assertMatch := myfunction("hello world", "stringSample")
    fmt.Printf("% v\n", assertMatch) // true
}

이 접근 방식에는 일치하려는 유형의 샘플을 사용하여 성공적인 유형 어설션을 위해 유형이 동일한지 확인하는 작업이 포함됩니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3