Go에서 인터페이스 필드 액세스
Go에서 인터페이스로 작업할 때 다음을 통해 기본 유형의 필드에 직접 액세스할 수 없다는 점을 이해하는 것이 중요합니다. 인터페이스. 인터페이스 변수는 인터페이스를 준수하는 모든 값을 저장할 수 있지만 값의 필드에 대한 직접적인 액세스를 제공하지는 않습니다.
제공된 코드 조각에서 SearchItemsByUser 함수는 인터페이스{} 값을 반환합니다. Params와 같은 데이터 필드에 액세스하려면 유형 어설션을 사용하여 인터페이스 뒤의 특정 구조체 유형에 액세스해야 합니다.
이를 위해 다음과 같이 코드를 수정할 수 있습니다.
package search type results struct { Hits hits NbHits int NbPages int HitsPerPage int ProcessingTimeMS int Query string Params string } func SearchItemsByUser(r *http.Request) results { var Result results er := json.Unmarshal(body, &Result) if er != nil { fmt.Println("error:", er) } return Result }
이제 반환된 값을 직접 사용할 수 있습니다.
func test(w http.ResponseWriter, r *http.Request) { result := search.SearchItemsByUser(r) fmt.Fprintf(w, "%s", result.Params) }
위 내용은 Go의 인터페이스를 통해 구조체 필드에 어떻게 액세스할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!