PHP 편집기 Xigua는 go-redis 라이브러리에 있는 Eval 함수의 반환 값 유형에 대한 문제를 소개하기 위해 왔습니다. Lua 스크립트를 사용하여 Eval 함수를 실행할 때 스크립트가 배열을 반환하는 경우가 있습니다. 그렇다면 go-redis 라이브러리에서 이 반환 값의 유형은 무엇입니까? 아래에서 이 질문에 대해 자세히 답변해 보겠습니다.
평가 호출 중에 lua 스크립트가 테이블 배열을 반환할 때 go에서 이를 [] 문자열로 어떻게 변환합니까?
redis cli는 다음 형식으로 일괄 응답을 반환합니다.
으아악go-redis 평가 함수는 항목 배치를
로 반환합니다.1) val1 2) val2
redis는 lua 테이블 배열을 resp2 배열로 반환합니다. 그러면 go 클라이언트는 해당 응답을 go 기본 유형에 매핑합니다. go-redis
관련 문서는 lua 및 go 유형에서 찾을 수 있습니다.
간단히 말하면 Lua 테이블은 대량 응답에 매핑되는 반면 Go 클라이언트는 이를 인터페이스 조각에 매핑합니다. []interface{}
.
go-redis
脚本 run
和 eval
都返回 *cmd
。您可以使用此类型的方法来检索 go 类型的输出。 result
给出 (interface{}, error)
,您可以键入断言任何您想要的内容,否则 stringslice
是一个方便的 getter,可以立即检索 []string
run
및 eval
스크립트 모두 *cmd
를 반환합니다. 이 유형의 메소드를 사용하여 go 유형 출력을 검색할 수 있습니다. 결과
(인터페이스{}, 오류)
가 주어지면 원하는 대로 어설션을 입력할 수 있습니다. 그렇지 않으면 stringslice
[]string
을 즉시 검색할 수 있는 편리한 getter입니다. 따라서 다음과 같습니다:
으아악
값이 실제로 모두 문자열이 아닌 경우 slice
获取 []interface{}
슬라이스
위 내용은 go-redis Lua 스크립트가 배열을 반환할 때 Eval func 반환 값 유형의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!